需要将字符串替换为字符串加上xml文件中的增量值,还需要申请目录中的所有文件。当我们知道价值' NA'在元素中,但大多数情况下的值是未知的。
convert input.png -resize 512x256 output.png
File1.xml
-strip
预期成果: File1.xml
awk '/ID>\/{sub(/ID>NA/,"ID>NA"++n)}; 1'
答案 0 :(得分:1)
要编辑XML文件,请使用正确的XML处理工具。例如,xsh:
open File1.xml ;
$n=1 ;
for //ID {
set . concat(text(), '_', $n) ;
$n = $n + 1 ;
}
save :b ;
答案 1 :(得分:0)
使用GNU awk for gensub():
$ awk '/ID>/{$0=gensub(/ID>[^<]+/,"&_"++n,1)} 1' file
<ID>NA_1</ID>
<Subject>ASDF</Subject>
...
<ID>LONEY_2</ID>
<Subject>ASDF</Subject>
...
<ID>ZXS01DR_3</ID>
<Subject>ASDF</Subject>
...
<ID>QWDRTYYUUU9282_4</ID>
<Subject>ASDF</Subject>
使用其他awks,您可以使用match()+ substr():
$ awk 'match($0,/.*ID>[^<]+/){$0=substr($0,1,RLENGTH) "_"++n substr($0,RLENGTH+1)}1' file
<ID>NA_1</ID>
<Subject>ASDF</Subject>
...
<ID>LONEY_2</ID>
<Subject>ASDF</Subject>
...
<ID>ZXS01DR_3</ID>
<Subject>ASDF</Subject>
...
<ID>QWDRTYYUUU9282_4</ID>
<Subject>ASDF</Subject>