ls *.jpg | awk -F'.' '{ printf "%s %04d.%s\n", $0, $1, $2; }' | xargs -n2 mv
Команда сначала выводит список всех файлов с расширением «.jpg» в текущей директории, затем с помощью утилиты «awk» разбивает имя файла на две части (до первой точки и после нее). Далее с помощью форматирования вывода команда добавляет недостающие нули в нумерацию файла и с помощью утилиты «xargs» перемещает файлы с новыми именами в текущую директорию.
Аргументы команды:
— «ls *.jpg» — выводит список всех файлов с расширением «.jpg» в текущей директории;
— «awk -F’.’ ‘{ printf «%s %04d.%s\n», $0, $1, $2; }'» — разбивает имя файла на две части и добавляет недостающие нули в нумерацию файла;
— «xargs -n2 mv» — перемещает файлы с новыми именами в текущую директорию.