我想在 linux 中的文件中搜索特定句子,然后根据需要对其进行编辑(在我的情况下,我想在“=
”符号之后编辑句子的结尾)..有任何帮助吗?
例如我想在文件中搜索这一行:
[some.random.line]=100
并且想要将 100
替换为 1
..有任何线索吗?
最佳答案
使用sed
:
$ sed -i -e 's/=.*$/=1/' infile
对于输入文件的所有行,这会将第一个 "="
符号后面的任何内容替换为 "1"
。 -i
选项告诉 sed
就地更新文件。您还可以创建原始文件的备份:
$ sed --in-place=.bak -e 's/=.*$/=1/' infile
并非所有版本的 sed
都支持就地修改,如果是这种情况,您可以写入临时文件,然后替换原始文件:
$ sed -e 's/=.*$/=1/' infile >outfile && mv outfile infile
输出被定向到第二个文件。如果 sed 命令成功,原始输入文件将被覆盖。
关于python - 如何在Linux文件中找到匹配的句子并编辑其中的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494270/