Переименуйте несколько имен файлов со случайным числовым расширением после одного определенного буквенно-цифрового слова в Linux

#linux #file-rename

Вопрос:

У меня есть папка/подпапки, которые содержат некоторые файлы с именами файлов, которые заканчиваются случайным числовым расширением:

 DWH..AUFTRAG.20211123115143.A901.3801176
DWH..AUFTRAGSPOSITION.20211122002147.A901.3798013
 

Я хотел бы удалить все, что после A901 из вышеуказанных имен файлов.

Например:

DWH..AUFTRAG.20211123115143.A901 (удалите это .3801176 ) DWH..AUFTRAGSPOSITION.20211122002147.A901 (удалите это .3798013 ) из имени файла

Как я могу использовать переименование или любую другую команду в linux, чтобы удалить только после A901 того, как все из имени файла finale rest останется как есть?

Ответ №1:

Я вижу, что перед цифрой есть 5″. » (точки), поэтому я сделал несколько желаний.

Я сделал несколько файлов в папке, а также создал папку и создал несколько файлов внутри этой папки в соответствии с шаблоном имени, который вы дали.

Я создал команду, и она выглядит примерно так.

 find "$PWD"|grep A901|while read F; do mv "${F}" `echo ${F}|cut -d . -f 1-5`;done
 

Когда это было выполнено, это сработало для меня.
вывод терминала ниже.

 rexter@rexter:~/Desktop/test$ find $PWD
/home/rexter/Desktop/test
/home/rexter/Desktop/test/test1
/home/rexter/Desktop/test/test1/DWH..AUFTRAG.20211123115143.A901.43214
/home/rexter/Desktop/test/test1/DWH..AUFTRAGSPOSITION.2021112200fsd2147.A901.31244324
/home/rexter/Desktop/test/DWH..AUFTRAG.20211123115143.A901.321423
/home/rexter/Desktop/test/DWH..AUFTRAGSPOSITION.20211122002147.A901.3124325


rexter@rexter:~/Desktop/test$ find "$PWD"|grep A901|while read F; do mv "${F}" `echo ${F}|cut -d . -f 1-5`;done


rexter@rexter:~/Desktop/test$ find $PWD
/home/rexter/Desktop/test
/home/rexter/Desktop/test/test1
/home/rexter/Desktop/test/test1/DWH..AUFTRAG.20211123115143.A901
/home/rexter/Desktop/test/test1/DWH..AUFTRAGSPOSITION.2021112200fsd2147.A901
/home/rexter/Desktop/test/DWH..AUFTRAG.20211123115143.A901
/home/rexter/Desktop/test/DWH..AUFTRAGSPOSITION.20211122002147.A901
rexter@rexter:~/Desktop/test$ 
 

Я не знаю, правильно ли это делать, но это просто заставляет все работать.

Дайте мне знать, если это вам пригодится.