嘗試重命名Linux服務器上的一系列文件。尋找我想要的文件很簡單:重命名一系列文件
find . -type f -wholename \*.mbox
當然,作爲MBOX文件,其中一些已在名稱空間,所以就變成:
find . -type f -wholename \*.mbox -print0
我管路以xargs的使我可以重命名文件:
find . -type f -wholename \*.mbox -print0 | xargs -0 -I{} echo ${"{}"/.mbox/}
回聲應該返回類似INBOX,給予INBOX.mbox,然而,bash的抱怨:
bash: ${"{}"/.mbox/}: bad substitution
我該如何解決這個問題?如果可能的話,我想盡量保留在find/xargs解決方案中,這樣我就不會在它周圍添加大量的循環結構。
此解決方案的另一個優點是,如果您離開`| sh`在最後你會得到一個將被執行的命令列表。如果一切看起來都很好,那麼可以將它傳遞到shell來執行。 – 2009-05-06 19:28:37
是的,好點。我總是先花點時間看看這些命令以這種方式運行命令是否合理。 – hlovdal 2009-05-06 19:56:21