我能夠在文件中替換,但使用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」的實例號 - 你想要哪個? –