重命名多個文件,我有一個包含有這樣的名稱的多個文件的目錄:在目錄中的UNIX
filename.ch.txt.
我想改變所有的文件名,以這樣的事情。
filename_ch.txt
任何人都可以請告訴我如何在unix中做到這一點...?我嘗試重命名命令,但它沒有奏效。
這是我做過什麼(逃逸, 「_」 字符 「」):
shell> rename 's/\\.ch/\\_ch/' *.txt
謝謝!
重命名多個文件,我有一個包含有這樣的名稱的多個文件的目錄:在目錄中的UNIX
filename.ch.txt.
我想改變所有的文件名,以這樣的事情。
filename_ch.txt
任何人都可以請告訴我如何在unix中做到這一點...?我嘗試重命名命令,但它沒有奏效。
這是我做過什麼(逃逸, 「_」 字符 「」):
shell> rename 's/\\.ch/\\_ch/' *.txt
謝謝!
你可以做什麼:
在這裏,我嘲笑你的文件:
touch {1..30}.ch.txt.
然後重命名他們這樣說:
for i in `ls`; do dest="${i%.ch.txt.}_ch.txt"; mv ${i} ${dest}; done
您只需要轉義元字符「。」是在「之前」放置'\'的一個。「逃脫但不逃避「_」。這是你需要做的
重命名's/\ ch/_ch /'* .txt。
我已經嘗試過,但它仍然不工作。 – user3527124 2014-10-30 19:20:56
是您的文件名「filename_ch.txt」。 ?如果是,則將「\ *。txt」替換爲「\ *。txt」。 – dev0 2014-10-30 19:23:51
文件名是filename.ch.txt,我想用filename_ch.txt替換它。 – user3527124 2014-10-30 19:30:50
這是你需要的嗎?如果是,請投票並接受答案。 – 2014-10-31 06:28:04
對此的任何更新,它是否適用於我的答案? – 2014-10-31 21:08:22