Centos
用特定名稱重命名所有文件
我正在嘗試查找名稱為“stringx”的某些文件,並將名稱(但不是副檔名)替換為“stringy”。所以基本上對於 stringx.txt 和 stingx.cs,我想要 stringy.txt 和 stringy.cs。我嘗試使用以下命令測試我的重命名命令正則表達式,但它沒有返回任何結果:
rename -n 'stringx./s/\*$stringy./\/' stringx.*
我在 Centos 下執行 csh。我可以看到我的正則表達式可能不正確,但我看不到任何結果來驗證這一點。我可以看到有名為 stringx 的文件。具有以下內容:
find ./ -name 'stringx.*'
rename stringx stringy stringx.*
rename
在典型的 Linux 系統上呼叫了(至少)兩個實用程序。Debian 和衍生髮行版(包括 Ubuntu)提供了一個 Perl 腳本,其語法為rename 's/stringx/stringy/' stringx.*
在其他發行版上,包括 CentOS,
rename
來自 util-linux,它的語法是我上面寫的。該實用程序rename.ul
以 Debian 及其衍生產品的名稱提供。如果您想在子目錄中遞歸,假設 csh 您的意思是 tcsh(但實際上,請考慮進入 1990 年代中期並切換到 zsh):
set globstar rename stringx stringy stringx.* **/stringx.*