我需要在我的数据文件中找到所有包含 NO_ID 的行,然后将字符串“confirmed”替换为“to be confirmed”。
我试过这个:
sed '/NO_ID/, s/confirmed/to be confirmed/' stats.txt
这似乎不起作用。
我需要在我的数据文件中找到所有包含 NO_ID 的行,然后将字符串“confirmed”替换为“to be confirmed”。
我试过这个:
sed '/NO_ID/, s/confirmed/to be confirmed/' stats.txt
这似乎不起作用。
去掉逗号。初始正则表达式充当后续
s
命令的“地址”(此处显示的地址和命令之间的空格是可选的):如果我们用命令
confirmed
中的正则表达式匹配的东西替换单词,这可以进一步缩短s
:如果您需要确保
to be confirmed
不修改包含的行:或者,
此处,第一个命令首先检测包含的行
NO_ID
并将替换应用于这些行,除非该行还包含to be confirmed
. 第二个命令检测并跳过包含的行to be confirmed
(b
指令跳转到脚本的末尾,导致该行不被进一步修改而是被打印)。不包含的行to be confirmed
进行与原始命令相同的修改。像这样:
这里没有逗号