2014-12-22 3 views
0

Я пытаюсь удалить числа из имен файлов, хранящихся в разных папках. В частности, у меня есть 100 папок с именем: my_folder1, my_folder2, my_folder3, ..., my_folder100. В каждой папке есть файлы с именем: my_folder1.txt для my_folder1, my_folder2.txt для my_folder2, my_folder3.txt для my_folder3, ... my_folder100.txt для my_folder100. Мне нужен следующий вывод: my_folder.txt для my_folder1, my_folder.txt для my_folder2, my_folder.txt для my_folder3, ..., my_folder.txt для my_folder100. Другими словами, мне нужно удалить числа из имен файлов в каждой папке. Я использовал следующий код:Переименовывать файлы в разных папках, удаляя номера из имен файлов

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

но цифры все еще там. Может ли кто-нибудь мне помочь?

Лучшие

ответ

1

Вы ищете:

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

Супер! Он отлично работает! Большое спасибо! – Elb

Смежные вопросы