重命名多个文件,我有一个包含有这样的名称的多个文件的目录:在目录中的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