得到sed从终端读取

时间:2013-10-01 23:20:44

标签: shell unix sed terminal

如果这看起来像一个愚蠢的问题,我很抱歉,但我对此有点新意。 我需要编写一个脚本来从终端获取字符串并使用sed将其打印回终端,每行一个字。 例如。 '这是输入'应该给我 这

输入

我尝试编写脚本,但似乎没有用。

#!/bin/sh
echo -n 'Enter the text:' 
read text
sed -i "/$text/s/ /\n/g"

我已将其保存在名为1.sed的文件中,并使用命令./1.sed运行它 谁能告诉我哪里出错了?

2 个答案:

答案 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")'