Вопрос Как переименовать файлы в каталоге, добавив значение к текущему имени?


У меня есть несколько файлов в каталоге, например, 1.jpg, 2.jpg, 15.jpg и т. Д. Я хочу добавить конкретное значение для этих имен - например, например: 10, чтобы файлы были переименованы в 11.jpg, 12. jpg, 25.jpg и т. д. Есть ли способ достичь этого?

(Это не массовое переименование, это переименование путем добавления значения к текущему имени)


1
2017-09-16 08:42


происхождения


возможный дубликат Переименование слова в файле всех файлов * .jpg - A.B.
обратите внимание, что предложения внутри упомянутых дубликатов, скорее всего, приведут к перезаписи изображений (т. е. перемещение 1.jpg в 11.jpg приведет к перезаписыванию 11.jpg)
@JacobVlijm ok, retracted - A.B.
@JacobVlijm Я тоже собирался закрыть его, когда заметил это. Мы уже обсуждали это на Meta, но я думаю, что хорошим решением было бы иметь каноническую запись CW (или добавить / CW-ответ (ы) к вопросу, который вы связывали ранее, для решения этого и других случаев). Таким образом, эта «категория» вопроса может быть закрыта в пользу связанного с вами вопроса. Я начинаю с тобой соглашаться с тем, что их слишком много. - kos
@JacobVlijm Мне лично нравится отвечать на них, но я думаю, что некоторые «достаточно общие» случаи, такие как этот, можно было бы решить, используя хороший дубликат - kos


ответы:


Вы можете использовать:

mkdir new
for f in *.jpg; do
    mv "$f" "new/$(( ${f%%.jpg} + 10)).jpg";done
mv new/* .
rmdir new

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


4
2017-09-16 09:02



Привет, Адонис, извините, извините, я не посмотрел должным образом в ответ. upvoted! - Jacob Vlijm