使用列表重命名Linux中的文件名

时间:2017-07-24 21:48:23

标签: linux bash rename

我想重命名目录文件名中的所有文件是1.ABC,2.ABC,3.ABC等我要将它们重命名为1.abc,2.abc,3.abc ....等等。

我试过了

 ls -1 *.ABC| xargs -I{}  mv {}  ${{}/ABC/abc}

但这似乎不起作用

bash: ${{}/ABC/abc}: bad substitution.

我也尝试了重命名命令,但似乎没有在我的系统上运行:

rename 's/\.ABC$/.abc/' *.ABC

没有给我任何结果。如果可以纠正的话,我想坚持使用我尝试的第一种方法。

1 个答案:

答案 0 :(得分:1)

如果您拥有rename实用程序,则可以执行以下操作:

rename 's/ABC/abc/' *.ABC

否则你可以使用这个简单的for循环:

for file in *.ABC; do
   mv "$file" "${file/.*/.abc}"
done