Bash 递归grep和sed

Bash 递归grep和sed,bash,awk,sed,grep,Bash,Awk,Sed,Grep,文件1: 我想在有text3的行中将text1替换为say NEW only 最终输出应为 some line1 some line2 text1 text2 text3 some line3 text1 text2 text4 some line3 我正试着处理格雷普和塞德,但没有帮助 感谢您的帮助。您可以使用sed: some line1 some line2 NEW text2 text3 so

文件1:

我想在有text3的行中将text1替换为say NEW only

最终输出应为

   some line1
   some line2
   text1    text2   text3
   some line3
   text1    text2   text4
   some line3
我正试着处理格雷普和塞德,但没有帮助


感谢您的帮助。

您可以使用
sed

   some line1
   some line2
   NEW      text2   text3
   some line3
   text1    text2   text4
   some line3

您可以使用
sed

   some line1
   some line2
   NEW      text2   text3
   some line3
   text1    text2   text4
   some line3

你要求做的事情没有递归性。你读过关于sed的手册/doc/jelp/man吗?你要求做的事情没有递归性。你读过关于sed的手册/doc/jelp/man吗?
$ sed '/text3/s/text1/NEW/' file
   some line1
   some line2
   NEW    text2   text3
   some line3
   text1    text2   text4
   some line3

$ awk '/text3/{sub(/text1/,"NEW")}1' file
   some line1
   some line2
   NEW    text2   text3
   some line3
   text1    text2   text4
   some line3