到目前为止,我的代码是:
#!/bin/bash
for word in $(<$1)
do
echo "$word"
done
其中包含输入文件(SP =空格,TAB =制表符和EOL - 行尾):
的&LT; SP&gt; 时间&lt; SP&gt; 有&lt; SP&gt; 来,&lt; TAB&gt; SP&gt; &lt; SP&gt; Walrus &lt; SP&gt; 说, &LT; SP&gt; SP&gt; SP&gt; 到&lt; SP&gt; 发言&lt; SP&gt; &lt; SP&gt; 很多&lt; SP&gt; 事物:&lt; EOL&gt;
将输出:
The
time
has
come,
the
Walrus
said,
to
speak
of
many
things:
我需要输出程序, word 的功能被定义为由 blank 或 TAB 字符限定的任何字符序列。所以使用相同的输入,我希望我的脚本输出:
The
time
has
come,
the
Walrus
said,
to
speak
of
many
things:
关于如何实现这一目标的任何想法?
提前感谢您的帮助!
答案 0 :(得分:1)
如果我正确理解目标,您应该可以使用tr
将空格和制表符转换为换行符来实现目标:
#!/bin/bash
tr ' \t' '\n' <"$1"