重命名unix目录中的多个文件

时间:2014-10-30 18:18:56

标签: unix

我有一个包含多个文件的目录,其名称如下:

filename.ch.txt.

我想将所有文件名更改为这样的内容。

filename_ch.txt

任何人都可以告诉我如何在unix中做到这一点......?我尝试了重命名命令,但它没有用。

这就是我所做的(逃避“。”和“_”字符):

shell> rename 's/\\.ch/\\_ch/' *.txt

谢谢!

2 个答案:

答案 0 :(得分:0)

你只需要转义元字符“。”是的,所以在“。”之前放一个'\'。逃避它但不逃避“_”。这就是你需要做的事情

  

重命名's / \ .ch / _ch /'* .txt。

答案 1 :(得分:0)

你能做什么:

我在这里模拟你的文件:

touch {1..30}.ch.txt.

然后你用这种方式重命名:

for i in `ls`; do dest="${i%.ch.txt.}_ch.txt"; mv ${i} ${dest}; done