如果这看起来像一个愚蠢的问题,我很抱歉,但我对此有点新意。
我需要编写一个脚本来从终端获取字符串并使用sed将其打印回终端,每行一个字。
例如。 '这是输入'应该给我
这
是
输入
我尝试编写脚本,但似乎没有用。
#!/bin/sh
echo -n 'Enter the text:'
read text
sed -i "/$text/s/ /\n/g"
我已将其保存在名为1.sed的文件中,并使用命令./1.sed运行它 谁能告诉我哪里出错了?
答案 0 :(得分:2)
将sed
命令更改为以下内容:
echo 'this is input' | sed -r 's/(\w+)\s+/\1\n/g'
(\w+)\s+
- 捕获一个单词,后跟\1
答案 1 :(得分:0)
对awk
echo 'this is input' | awk 1 RS=" "
this
is
input
另一个版本
echo 'this is input' | awk 'gsub(/ /,"\n")'