每个单词在一个单独的行上

Nat*_* Pk 12 bash shell

我有一句话

这是例如

我想把它写到一个文件中,这句话中的每个单词都写成一个单独的行.

我怎样才能在shell脚本中执行此操作?

sam*_*hen 17

几种方法,选择你最喜欢的!

echo "This is for example" | tr ' ' '\n' > example.txt
Run Code Online (Sandbox Code Playgroud)

或者只是这样做以避免echo不必要地使用:

tr ' ' '\n' <<< "This is for example" > example.txt
Run Code Online (Sandbox Code Playgroud)

<<<表示法使用具有herestring

或者,使用sed而不是tr:

sed "s/ /\n/g" <<< "This is for example" > example.txt
Run Code Online (Sandbox Code Playgroud)

对于更多替代方案,请检查其他人的答案=)


Sep*_*ero 15

$ echo "This is for example" | xargs -n1
This
is
for
example
Run Code Online (Sandbox Code Playgroud)


Gil*_*not 9

尝试使用:

string="This is for example"

printf '%s\n' $string > filename.txt
Run Code Online (Sandbox Code Playgroud)

或利用

string="This is for example"

for word in $string; do
    echo "$word"
done > filename.txt
Run Code Online (Sandbox Code Playgroud)


Jon*_*ler 5

example="This is for example"
printf "%s\n" $example
Run Code Online (Sandbox Code Playgroud)