#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$
Я не знаю, правильно ли это делать, но это просто заставляет все работать.
Дайте мне знать, если это вам пригодится.