2015-10-14 45 views
0

我需要重命名其名稱中包含子字符串200at的所有文件,並將其替換爲200_at。 在Ubuntu中,我會做:替代CentOS 5.9中的'rename'命令

find . -type f -name '*200at*' -exec rename -n 's/200at/200_at/' {} \; 

在CentOS的(5.9版),這是行不通的。命令rename似乎不支持perl表達式,而上述命令根本不起作用。

任何想法替代?

回答

0

在我使用CentOS的經驗中,我們總是使用mv(move)命令來重命名事物。即:

mv 200at ./200_at

希望可以作爲您的選擇。

+0

好吧,我該如何與'mv'做模式匹配?你的例子重命名一個名爲'200at'的文件,而在我的情況下,它應該是完整文件名的子字符串。我找到了一些例子,它不是正則表達式的語法... –

+0

http://unix.stackexchange.com/questions/102647/how-to-rename-multiple-files-in-single-command-or-script-in -unix –

+1

我實際上在我的shell腳本上有點生疏。別人應該幫助更多。對於那個很抱歉。我只是不記得'mv'是在linux中重命名文件的標準工具。 –