Этот однострочник должен работать. Протестировано на macOS High Sierra (10.13.6).
Он работает, используя ls -r
список файлов в обратном порядке, а затем - с помощью математики - просто добавляя +1
к каждому расширению файла.
Сценарий предполагает, что у вас есть файлы с именами с таким шаблоном, как этот:
test.000 test.001 test.002 test.003
И переименует их следующим образом:
test.001 test.002 test.003 test.004
Вот «пробная версия», которая просто повторяет команду для вашего обзора:
ls -r | while read f; do echo mv "$" "$.$(printf '%03d' $(expr $ + 1))"; done
И просто удалите это, echo
чтобы заставить его работать и делать это так:
ls -r | while read f; do mv "$" "$.$(printf '%03d' $(expr $ + 1))"; done