<分区>
如何替换文件中以文本 aaa
开头的行我不知道该行在哪里。
文件.txt:
sadasd_dsada = (aa,bb,cc)
aaa = (aa,bb,cc)
sadasd_dsada = (aa,bb,cc)
替换:
aaa = (aa,bb,cc)
对于:
aaa = (dd,ee,ff)
<分区>
如何替换文件中以文本 aaa
开头的行我不知道该行在哪里。
文件.txt:
sadasd_dsada = (aa,bb,cc)
aaa = (aa,bb,cc)
sadasd_dsada = (aa,bb,cc)
替换:
aaa = (aa,bb,cc)
对于:
aaa = (dd,ee,ff)
最佳答案
最简单的方法是使用 sed
进行替换:
$ sed 's/^aaa = (aa,bb,cc)$/aaa = (dd,ee,ff)/' file
sadasd_dsada = (aa,bb,cc)
aaa = (dd,ee,ff)
sadasd_dsada = (aa,bb,cc)
字符 ^
和 $
分别匹配正则表达式中行的开头和结尾,这意味着替换只会发生在整行匹配中。
一旦您对更改感到满意,请使用 -i
选项保存回文件。
$ sed -i 's/^aaa = (aa,bb,cc)$/aaa = (dd,ee,ff)/' file
编辑:
$ cat file
sadasd_dsada = (aa,bb,cc)
aaa = (aa,bb,cc)
aaa = foo
sadasd_dsada = (aa,bb,cc)
aaa = bar
$ sed 's/^aaa = .*/aaa = (dd,ee,ff)/' file
sadasd_dsada = (aa,bb,cc)
aaa = (dd,ee,ff)
aaa = (dd,ee,ff)
sadasd_dsada = (aa,bb,cc)
aaa = (dd,ee,ff)
关于linux - 替换文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15161365/