我有很多带有特定标签的文本文件,称为“ Comment”,例如,我有一个名为3dchess.sh的文件,
我需要更改标签:
Comment=3D chess for X11
到
Comment='<span size="xx-large">3D chess for X11</b>'
脚本是:
#!/bin/sh
Package=3dchess
Popcon=48
Section=universe
Comment=3D chess for X11
Exec=3Dc
我已经尝试过了,但是在我的情况下不起作用:
sed -i ':Comment=:s:Comment=:Comment='<span size="xx-large">:g;/Comment=/s/$/</b>'/' $HOME/3dchess.sh
就个人而言,我喜欢允许扩展正则表达式的-r
选项,sed
因此不需要转义括号:
sed -r "s#(Comment=)(.*)#\1'<span size=\"xx-large\">\2</b>'#" 3dchess.sh
注意,由于要'
在替换中使用,因此不能使用sed 's///'
而是需要使用sed "s///"
。另外,由于您需要将其/
作为模式的一部分,因此不能将其用作定界符,因此需要选择另一个字符。我选择了,#
但是您可以使用任何喜欢的东西。正如Graeme所说,一旦确定可以正常工作,请添加-i
开关以使其就地编辑文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句