Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果这似乎是一个愚蠢的问题,我很抱歉,但我对此有点陌生。我需要编写一个脚本从终端获取一个字符串并使用 sed 将其打印回终端,每行一个单词。例如。“这是输入”应该给我 这 是 输入
我试着写剧本,但似乎没有用。
#!/bin/sh echo -n 'Enter the text:' read text sed -i "/$text/s/ /\n/g"
我已经将它保存在一个名为 1.sed 的文件中,并使用命令 ./1.sed 运行它 谁能告诉我哪里出错了?
将您的命令更改sed为以下命令:
sed
echo 'this is input' | sed -r 's/(\w+)\s+/\1\n/g'
(\w+)\s+- 捕获一个单词,该单词后跟一个或多个空格\1
(\w+)\s+
\1
做同样的事情awk
awk
echo 'this is input' | awk 1 RS=" " this is input
另一个版本
echo 'this is input' | awk 'gsub(/ /,"\n")'