You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单行Shell命令将文本按单词垂直逐行显示?

实现单词逐行显示的单行Shell命令

这里提供几种简单有效的实现方式:

1. 使用tr命令(最简洁)

cat file1.txt | tr -s '[:space:]' '\n'

tr -s会将连续的空白字符(包括空格、换行、制表符)压缩为单个,再替换成换行符,自动过滤掉空行,完美匹配你的需求。

2. 使用awk命令(逻辑清晰)

awk '{for(i=1;i<=NF;i++) print $i}' file1.txt

awk默认以空白作为字段分隔符,NF代表当前行的字段总数,循环遍历每一行的每个字段并打印,天然忽略空行和多余空白。

3. 修正你的Perl命令

你之前的Perl命令逻辑不符合需求,正确写法可以是:

perl -pe 's/\s+/\n/g' file1.txt | grep -v '^$'

先用Perl把所有连续空白替换成换行,再用grep过滤掉空行;也可以直接用Perl完成所有处理:

perl -ne 'print join "\n", split /\s+/, $_' file1.txt

通过split按空白分割每行内容,再用换行符连接后打印。


内容的提问来源于stack exchange,提问作者Oh God

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:35:34