Linux 正则表达式:搜索一个单词并在行尾追加一个新词
我有一些TCL文件,其中包含许多类似这样的行Linux 正则表达式:搜索一个单词并在行尾追加一个新词,linux,perl,sed,Linux,Perl,Sed,我有一些TCL文件,其中包含许多类似这样的行 unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0 unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0 edge-profile. 不幸的是,我忘了在结尾加上一个词(边缘轮廓)。应该是这样的 unp classification ip-address $env(SOURCE_IP4) m
unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0
unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0 edge-profile.
不幸的是,我忘了在结尾加上一个词(边缘轮廓)。应该是这样的
unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0
unp classification ip-address $env(SOURCE_IP4) mask 255.255.255.0 edge-profile.
有人能告诉我如何通过关键字
“unp分类ip地址”
搜索该行,并在行的末尾添加单词“edge profile”。我需要更改多个文件。一行perl或sed脚本就可以了 如果行匹配unp分类ip地址
,则sed执行以下命令,在该行末尾添加edge profile
。@fedorqui表达式s/$/edge profile/
应用于与指定模式匹配的行。因此s/$/something//code>表示添加“something”在队伍的尽头。很有趣,谢谢@devnull和perreal@fedorqui是的,s表示替换,$表示行尾的正则表达式,“something”表示替换string@fedorqui,否,这是替换命令,将第一个斜杠之间的零件替换为第二个和第三个斜杠之间的零件。$
是行尾标记,此表达式用某物
替换行尾。但行尾并没有被消耗掉。
sed -i '/unp classification ip-address/s/$/ edge-profile/' *.tcl