我想在文件中查找一行并替换字符串

我想在文件中查找一行并替换字符串

我想在包含字符串“AUTOINSTALL_VTK”的文件中找到某一行,并使用 bash 脚本在该行中将字符串“OFF”替换为“ON”。

应该可以用 sed 进行替换,但是我如何告诉 sed 仅将这一行中的“OFF”替换为“ON”?

答案1

尝试这个:

sed -i '/AUTOINSTALL_VTK/ s/\<OFF\>/ON/' file

我添加了单词边界\<\>防止OFF在其他单词内替换,例如OFFICIAL


要对匹配行运行多个命令,您可以使用{ ... }.
切换ONand 的示例OFF

sed -i '/AUTOINSTALL_VTK/{s/\<OFF\>/ON/n;t;s/\<ON\>/OFF/;}' file

相关内容