我想從一個從shell腳本中的文件中的特定模式開始的行中提取字符串 例如。 我想從打招呼開始的行字符串如何從bash中的文件中提取特定的行?
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
輸出應該
to_Hari
to_kumar
誰能幫助我?
我想從一個從shell腳本中的文件中的特定模式開始的行中提取字符串 例如。 我想從打招呼開始的行字符串如何從bash中的文件中提取特定的行?
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
輸出應該
to_Hari
to_kumar
誰能幫助我?
sed
是最合適的工具:
sed -n 's/^hello //p'
使用grep:
grep ^hello file | awk '{print $2}'
^
是,匹配以 「你好」 開始線。假設你想打印第二個單詞。
如果你想打印所有的話,除了第一則:
grep ^hello file | awk '{$1=""; print $0}'
這裏不需要''grek''用'awk';在'awk'腳本中指定正則表達式:'awk'/^hello/{print $ 2}'文件'。 – chepner
你可以使用GNU的grep的Perl兼容的正則表達式,並使用回顧後:
grep -oP '(?<=hello).*'
您是否打算更改「to_Hari」的大小寫? –
否,問題編輯 – Jagan