python - 如何在Linux文件中找到匹配的句子并编辑其中的一部分

标签 python linux sed grep

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

相关文章:

linux - 正则表达式后的 sed 步骤

regex - Sed 不使用正则表达式

java - 运行时异常不终止程序

用于共享和关闭文件描述符的 linux 辅助数据

linux - 如何在内核中拦截TCP层的数据包来分析数据?

Python kivy之二 GridLayout和Screen Manager

bash - 为什么我的 `find` 命令给出与忽略目录相关的错误?

python - sqlalchemy 一对多关系,其中同一个外键在模型中使用了两次

python - 如何在 Gephi 的 gexf 中有效地缩放节点大小

Python Coverage 说 A 行被覆盖,需要知道从哪里覆盖