REG-exp在行尾否定

时间:2014-06-03 09:43:36

标签: sed

我有

之类的结尾行
"true"/>
testname="A01
"true">
Prop>
testname="A02

想要在包含testname =“A0 ...

的行的末尾插入一些文本

我尝试了以下选项

sed -i 's/!>$/_\" enabled=\"true\">/g' file
sed -i 's/!>\\n/_\" enabled=\"true\">/g' file

然而,它没有反映在文件中。     这需要任何调整。帮帮我吧

3 个答案:

答案 0 :(得分:0)

您可以使用awk

awk '/="A0[0-9]+$/ {$0=$0" blabla"}1' file
"true"/>
testname="A01 blabla
"true">
Prop>
testname="A02 blabla

更新原始文件:

awk '/="A0[0-9]+$/ {$0=$0" blabla"}1' file > tmp && mv tmp file

答案 1 :(得分:0)

小心环绕空间(下面的代码不要使用图案中的任何空格)

sed -i -e '/^testname="A[0-9]\{1,\}$/ a\
put some line\
to add\
here' YourFile

选项g是不需要的,因为你添加一行和sed工作(默认情况下)逐行工作

答案 2 :(得分:0)

尝试以下GNU sed命令,

sed -ri '/A0[0-9]+$/ s/(^.*testname=")(.*)$/\1\2_" enabled="true">/g' file

示例:

$ sed -r '/A0[0-9]+$/ s/(^.*testname=")(.*)$/\1\2_" enabled="true">/g' c
"true"/>
testname="A01_" enabled="true">
"true">
Prop>
testname="A02_" enabled="true">