Написать Bash скрипт
700 UAHНужно решить задание скриптом для Debian 11.8.
Есть файлы с такими названиями:
0000_index.txt
GLN-DAN_vf_119_0000.txt
GLN-DAN_vf_119_0001.txt
GLN-DAN_vf_119_0002.txt
GLN-DAN_vf_119_0003.txt
Нужно переименовать их, приведя в такой вид:
0000_index.txt > GLN-DAN_vf_119_0000.txt
GLN-DAN_vf_119_0000.txt > GLN-DAN_vf_119_0001.txt
GLN-DAN_vf_119_0001.txt > GLN-DAN_vf_119_0002.txt
GLN-DAN_vf_119_0002.txt > GLN-DAN_vf_119_0003.txt
GLN-DAN_vf_119_0003.txt > GLN-DAN_vf_119_0004.txt
Задача периодически возникает повторно.
Что может меняться в повторных задачах и требует внимания при написании скрипта:
- В исходных названиях файлов, начиная со второго и далее, перед последним подчеркиванием всегда одинаковый текст в рамках одного задания, при этом он может содержать любые символы, которые возможны в названии файла, в любом порядке. При переименовании эта часть (до последнего подчеркивания) должна быть взята идентично. Последнее подчеркивание присутствует во всех заданиях и может быть взято за основу для создания макси.
- После последнего подчеркивания всегда происходит порядковая нумерация, начиная с 0. Количество знаков нумерации всегда одинаково в рамках одного задания, но может отличаться в повторных заданиях. Для переименования должно быть применено такое количество знаков нумерации, которое использовано в исходных названиях файлов, начиная со второго и далее.
- Первый исходный файл нужно переименовывать всегда, вне зависимости от его названия. Привязаться можно к отсутствию в его названии маски для переименования, присутствующей в названиях остальных файлов (до последнего подчеркивания).
Отзыв заказчика о сотрудничестве с Oleh Kovalievskyi
Написать Bash скриптВсе на самом высоком уровне. Выполняется прекрасно. Радуется приятным сотрудничеством.
Отзыв фрилансера о сотрудничестве с Alexander Perkov
Написать Bash скриптЗаказчик поставил четкие ТЗ, выполнены все условия.
Надеюсь на дальнейшее сотрудничество.
-
1282 23 0 Выполняю задание по ТЗ. У меня есть опыт работы с Linux более 10 лет.
-
Можете так делать
mkdir -p new |ls | grep -E '[0-9]{4}' | awk '{printf "mv %10s new/GLN-DAN_vf_119_%04d.txt\n",$1,i++;}' | sh
-
Вітаю. Чи правильно я зрозумів що перший файл завжди буде мати назву 0000_index.txt а всі інші будуть мати закінчення _xxxx.txt ?
-