0

我想知道是否有一种方法可以在每行一个单词的视图中剪切 .txt 文件。我尝试了以下命令:

cut -f1 -d' ' test.txt

这仅部分有效。我也尝试了“awk”,但也遇到了同样的问题。为了确保您理解我的意思,我举了一个文本的小例子:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. 

这是我想要的输出:

Lorem
Ipsum
is
simply
dummy
text
of
the
printing
and
typesetting
industry

是否可以用一个简单的命令来做到这一点,或者这需要一点 shell 脚本吗?

4

5 回答 5

2

使用 GNU awk:

$ awk -v RS='[^[:alpha:]]' 'NF' file
Lorem
Ipsum
is
simply
dummy
text
of
the
printing
and
typesetting
industry

在查看替代方案时,请注意其中哪些将正确打印industry而不是industry.(即处理标点符号)。

于 2013-09-29T13:40:03.167 回答
0

使用tr

cat your.file | tr ' ' '\n'

该命令会将空格转换为新行。

更新(感谢@Ed Morten):

此处不需要 cat 命令。可以用输入重定向代替:

tr ' ' '\n' < your.file
于 2013-09-29T10:29:23.300 回答
0

这里:

cat <yourfile> |  tr "\"' " '\n' > <newfile>

或者

tr "\"' " '\n' < <yourfile> > <newfile>

有了这个,您将空格转换为新行,然后将结果转发到新文件中。

于 2013-09-29T10:30:46.157 回答
0

尝试这个:

echo "Lorem Ipsum is simply dummy text of the printing and typesetting industry." | sed 's/ /\n/g' 
于 2013-09-29T10:31:45.020 回答
0

使用awk

awk 1 RS=" " file
or
awk '{$1=$1}1' RS=" " file
or
awk '{gsub(/ /,"\n")}1' file
于 2013-09-29T11:55:34.537 回答