重命名不同文件夹中的文件,从文件名中删除数字

时间:2014-12-22 18:43:49

标签: unix

我试图从存储在不同文件夹中的文件名中删除数字。 具体来说,我有100个文件夹名为:my_folder1,my_folder2,my_folder3,...,my_folder100。 在每个文件夹中都有以下文件:my_folder1为my_folder1.txt,my_folder2为my_folder2.txt,my_folder3为my_folder3.txt,my_folder100为my_folder100.txt。我需要以下输出: my_folder1的my_folder.txt,my_folder2的my_folder.txt,my_folder3的my_folder.txt,my_folder100的my_folder.txt。换句话说,我需要从每个文件夹中的文件名中删除数字。我使用了以下代码:

   for file in `find . -name 'my_folder*.txt'`; do
   mv $file ${file/+([0-9]).txt/.txt}
   done

但数字仍在那里。 有人可以帮我吗?

最佳

1 个答案:

答案 0 :(得分:1)

您在寻找:

for file in */*.txt; do   mv $file $(dirname $file)/my_folder.txt; done