1

我想从 shell 脚本文件中以特定模式开头的行中提取字符串。

例如:我想要以 开头的行中的字符串hello

hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly

输出应该是

to_Hari
to_kumar

谁能帮我?

4

3 回答 3

1

使用 grep:

  grep ^hello file | awk '{print $2}'

^是匹配以“hello”开头的行。这是假设您要打印第二个单词。

如果要打印除第一个单词之外的所有单词,则:

 grep ^hello file | awk '{$1=""; print $0}'
于 2012-09-19T11:20:21.047 回答
1

sed是最合适的工具:

sed -n 's/^hello //p' 
于 2012-09-19T13:25:38.733 回答
1

您可以使用 GNU grep 的 perl 兼容正则表达式并使用后向:

grep -oP '(?<=hello ).*'
于 2012-09-19T14:00:37.993 回答