$ echo $STR |
既然这种方法有这么个小问题,我就想是否可以用其他办法。最后想到的还是用 grep 来做。如下:
$ echo "$STR" | grep -o "[^ ]+( +[^ ]+)*" |
转自:
http://blogold.chinaunix.net/u/24581/showart_1882388.html
以下相关信息:
常用的 grep 选项有:
-c 只输出匹配行的个数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-V 显示软件版本信息
使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。
例如:
grep -n "^$" test.txt 显示输出空行的行号