2012-09-19 89 views
1

我想從一個從shell腳本中的文件中的特定模式開始的行中提取字符串 例如。 我想從打招呼開始的行字符串如何從bash中的文件中提取特定的行?

hi to_RAm 
hello to_Hari 
hello to_kumar 
bye to_lilly 

輸出應該

to_Hari 
to_kumar 

誰能幫助我?

+0

您是否打算更改「to_Hari」的大小寫? –

+0

否,問題編輯 – Jagan

回答

1

sed是最合適的工具:

sed -n 's/^hello //p' 
1

使用grep:

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

^是,匹配以 「你好」 開始線。假設你想打印第二個單詞。

如果你想打印所有的話,除了第一則:

grep ^hello file | awk '{$1=""; print $0}' 
+1

這裏不需要''grek''用'awk';在'awk'腳本中指定正則表達式:'awk'/^hello/{print $ 2}'文​​件'。 – chepner

1

你可以使用GNU的grep的Perl兼容的正則表達式,並使用回顧後:

grep -oP '(?<=hello).*' 
相關問題