Рейтинг:1

Как переименовать файлы: picture.jpg.~1~ в picture_~1~.jpg

флаг sy

У меня есть 30000 файлов такого типа: picture.jpg.~12~

Это остатки резервной копии (mv -v --backup=номер...).

Мне нужно было переключить расширения на: picture.~12~.jpg

Рейтинг:1
флаг sy

Наконец-то я нашел это решение, которое может вдохновить вас в это долгое темное время Covid души.

лс *~*~* | sed -n "s/\(.*\)\.\([^.]*\).\(~[0-9]*~\)$/mv -v --backup=нумерованный \"\0 \" \"\1_\3.\2\"/p" >switch_extensions.sh
chmod +x switch_extensions.sh
./switch_extensions.sh > switch_extensions.log

Первая строка выдает команды:

mv -v --backup=numbered "Trombone.tif.~10~" "Trombone_~10~.tif"

Вторая строка делает его исполняемым, третья — переименование при создании лог-файла. Затем быстро приходит облегчение от темных размышлений о душе. Попробуй!

Возможно, вы знаете более разумное решение, так что дайте мозгу пораскинуть мозгами! :-)

bac0n avatar
флаг cn
`mmv '*.jpg.*' '#1.#2.jpg'`
sudodus avatar
флаг jp
+1, @xerostomus, хороший вызов :-)
sudodus avatar
флаг jp
@bac0n, отличная команда для этой задачи. Я бы манипулировал частями имени файла с помощью методов расширения параметров bash, а затем выполнил команду mv, но это намного проще. Глядя на ссылку в вашем комментарии к вопросу, я увидел, что уже проголосовал за него много лет назад, но забыл об этом :-P
Cyrus avatar
флаг cn
@xerostomus: Обратите внимание: [Почему *не* разбирать `ls`?](http://unix.stackexchange.com/questions/128985/why-not-parse-ls)
xerostomus avatar
флаг sy
@Cyrus Конечно, сначала я запускаю детокс. Я не терплю большой свободы в именах файлов. :-)
xerostomus avatar
флаг sy
@bacOn - Спасибо, я этого не знал.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.