терминал: вернуть порядок имен файлов - PullRequest
0 голосов
/ 05 декабря 2018

Я пронумеровал изображения в каталоге:

001.jpg 002.jpg 003.jpg ... 010.jpg

Я хочу переименовать их в обратном порядке:

001.jpg -> 010.jpg
002.jpg -> 009.jpg
...
010.jpg -> 001.jpg

У меня была идея сделать следующее

i=1; for f in $(ls -r *.jpg); do mv "$f" "$(printf %03d $i)".jpg; ((i++)); done

Сбой при переименовании уже замененного 005.jpg.

Я мог бы сделать первый цикл, чтобы переименовать их в temp001.jpg, а затем запустить цикл выше.Но есть ли хороший способ сделать это с помощью одной команды?

1 Ответ

0 голосов
/ 06 декабря 2018

вы можете использовать файл сценария следующим образом.

n=10
for i in {1..10}
do
    let aa=n-i+1     
    cp $i.jpeg $aa.jpg
done
rm *.jpeg
mv *.jpg *.jpeg

Убедитесь, что скрипт работает, так как он удаляет исходные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...