gpt4 book ai didi

sed - 如何替换文件中匹配标签下的所有匹配模式

转载 作者:行者123 更新时间:2023-12-03 07:55:37 25 4
gpt4 key购买 nike

我们假设有以下文件:

blah
blah blah
blah blah blah
string
blah blah blah blah
#####TAG#####
blah blah blah blah
blah blah blah
string
blah blah
string
blah

目标是用“another_string”替换 TAG 下面的所有“string”(仅限那些),以便文件变为:

blah
blah blah
blah blah blah
string
blah blah blah blah
#####TAG#####
blah blah blah blah
blah blah blah
another_string
blah blah
another_string
blah

无法预测所有“字符串”的行号。

显然,如果我使用基本的 sed 命令,所有“字符串”都会被替换:

sed 's|string|another_string|g' file

有什么建议吗?我也对其他工具持开放态度,例如 perl。

最佳答案

您可以将范围地址与 sed 一起使用:

sed '/TAG/,$ { s/string/another_string/g; }' file

/TAG/,$ 部分是 range address从与正则表达式标记匹配的第一行开始,到 the end of the file $ 结束。大括号之间的部分是替换命令,应应用于指定范围内的所有行。

关于sed - 如何替换文件中匹配标签下的所有匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76112917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com