我不得不在目錄中創建一個xml文件的大約500個副本,這是我設法完成的。作爲下一個問題的一部分是我想重命名文件中的特定文本。我該怎麼去做呢?用文件名重命名多個文件中的特定實例?
這是我有: 1000.xml,1001.xml,1002.xml ...
1000.xml:
<?xml version="1.0" encoding="UTF-8"?>
<addresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='test.xsd'>
<address>
<name>Joe Tester</name>
<street>Baker street 5</street>
<id>1000</id>
</address>
<count>1000</count>
本質上講,這被複制到所有其他文件,但以數字和按時間順序排列的名稱。如何將「1000」替換爲「文件名」?因此,新的文件應該是 - 1001.xml:
<?xml version="1.0" encoding="UTF-8"?>
<addresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='test.xsd'>
<address>
<name>Joe Tester</name>
<street>Baker street 5</street>
<id>1001</id>
</address>
<count>1001</count>
</addresses>
我能做的只有這 - sed -i '' -e 's/1000/1001/g' $(find . -type f)
這將替換所有1000 1001,而不是文件名。
到目前爲止,你有什麼嘗試?這看起來像一個非常簡單的shell腳本任務。也許一個'for'循環? – larsks
我發佈了我能想到的sed命令。但是它將所有1000重命名爲1001.但是,它應該是1002文件1002.xml中的1002,1003中的1003.xml等等。 – Metahuman