Sed 查找paten并在文件中追加和替换它
我想搜索一个模式并将其附加到文件中 确切地说,这里是我的模式的一个示例,一个文件中有数百个Sed 查找paten并在文件中追加和替换它,sed,Sed,我想搜索一个模式并将其附加到文件中 确切地说,这里是我的模式的一个示例,一个文件中有数百个 <size>30</size> needs to be replaced with <size>30,-1</size> 我如何做到这一点 感谢使用sed您可以用括号存储部分匹配文本,并将其包含在替换内容中: 例如: sed 's:<size>\([0-9][0-9]*\)</size>:<size>
<size>30</size> needs to be replaced with <size>30,-1</size>
我如何做到这一点
感谢使用
sed
您可以用括号存储部分匹配文本,并将其包含在替换内容中:
例如:
sed 's:<size>\([0-9][0-9]*\)</size>:<size>\1,-1</size>:g' ...
sed's:\([0-9][0-9]*\):\1,-1:g'。。。
。。。以及关于从文件中读取sed命令:
s:<size>\([0-9][0-9]*\)</size>:<size>\1,-1</size>:g
如果有多个命令,请将每个命令放在各自的行中 我知道这没有在
perl
下标记,所以可以忽略它。但是有了perl的积极的前瞻和后顾
,您就可以这样做了-
perl -pe 's/(?<=\<size\>)([0-9]{2})(?=\<\/size\>)/$1,-1/' yourfile
perl-pe的/(?如果你想从一行匹配,但在另一行替换怎么办?
sed -f commands.sed file.html
perl -pe 's/(?<=\<size\>)([0-9]{2})(?=\<\/size\>)/$1,-1/' yourfile