递归 grep 和 sed
recursive grep and sed
文件 1:
some line1
some line2
text1 text2 text3
some line3
text1 text2 text4
some line3
我只想在有 text3 的行中用 say NEW 替换 text1
最终输出应该是
some line1
some line2
NEW text2 text3
some line3
text1 text2 text4
some line3
我正在尝试使用 grep 和 sed,但没有帮助。
感谢任何帮助。
您可以使用 sed
:
sed '/text3/s/text1/NEW/g' file
some line1
some line2
NEW text2 text3
some line3
text1 text2 text4
some line3
$ 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
文件 1:
some line1
some line2
text1 text2 text3
some line3
text1 text2 text4
some line3
我只想在有 text3 的行中用 say NEW 替换 text1
最终输出应该是
some line1
some line2
NEW text2 text3
some line3
text1 text2 text4
some line3
我正在尝试使用 grep 和 sed,但没有帮助。
感谢任何帮助。
您可以使用 sed
:
sed '/text3/s/text1/NEW/g' file
some line1
some line2
NEW text2 text3
some line3
text1 text2 text4
some line3
$ 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