Shell 让sed从终端读取数据
如果这是个愚蠢的问题,我很抱歉,但我对这个问题有点陌生。 我需要编写一个脚本从终端获取一个字符串,并使用sed将其打印回终端,每行一个单词。 例如,“这是输入”应该给我Shell 让sed从终端读取数据,shell,unix,sed,terminal,Shell,Unix,Sed,Terminal,如果这是个愚蠢的问题,我很抱歉,但我对这个问题有点陌生。 我需要编写一个脚本从终端获取一个字符串,并使用sed将其打印回终端,每行一个单词。 例如,“这是输入”应该给我 这 是 输入 我试着写剧本,但似乎不管用 #!/bin/sh echo -n 'Enter the text:' read text sed -i "/$text/s/ /\n/g" 我已将其保存在名为1.sed的文件中,并使用命令运行它。/1.sed 有人能告诉我哪里出了问题吗?将您的sed命令更改为以下命令: echo
这
是
输入 我试着写剧本,但似乎不管用
#!/bin/sh
echo -n 'Enter the text:'
read text
sed -i "/$text/s/ /\n/g"
我已将其保存在名为1.sed的文件中,并使用命令运行它。/1.sed
有人能告诉我哪里出了问题吗?将您的
sed
命令更改为以下命令:
echo 'this is input' | sed -r 's/(\w+)\s+/\1\n/g'
(\w+)\s+
-在\1
中捕获后跟一个或多个空格的单词,并使用awk
echo 'this is input' | awk 1 RS=" "
this
is
input
另一个版本
echo 'this is input' | awk 'gsub(/ /,"\n")'
快,还有我要找的。谢谢你@jkshah