我有一个包含多个文件的目录,其名称如下:
filename.ch.txt.
我想将所有文件名更改为这样的内容。
filename_ch.txt
任何人都可以告诉我如何在unix中做到这一点......?我尝试了重命名命令,但它没有用。
这就是我所做的(逃避“。”和“_”字符):
shell> rename 's/\\.ch/\\_ch/' *.txt
谢谢!
答案 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