我能够在文件中替换,但使用awk命令无法正确添加增量值(添加行号),并且还需要为所有xml文件一个目录。查找并替换目录中所有文件中增量值的字符串
awk '{ sub(/ID>NA/,"ID>NA"++n); print }' file1 >file1
file.xml
:
<ID>NA</ID>
<Subject>ASDF</Subject>
...
<ID>NA</ID>
<Subject>ASDF</Subject>
...
<ID>NA</ID>
<Subject>ASDF</Subject>
...
<ID>NA</ID>
<Subject>ASDF</Subject>
预期的结果是:
file1.xml
:
<ID>NA1</ID>
<Subject>ASDF</Subject>
...
<ID>NA2</ID>
<Subject>ASDF</Subject>
...
<ID>NA3</ID>
<Subject>ASDF</Subject>
...
<ID>NA4</ID>
<Subject>ASDF</Subject>
请将所有'...'行替换为实际样本数据,以便您有我们可以测试的潜在解决方案。因为shell在执行'command file'部分之前可以执行'> file'部分,所以在'command'打开它之前它将覆盖'file',以便读取。改为执行'command file> tmp && mv tmp file'。你说你想添加行号,但你的命令和预期的输出不这样做,他们添加“NA”的实例号 - 你想要哪个? –