我想在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/

10-12 17:35
查看更多