Bash: добавить суффикс ко всем файлам в каталоге с расширением [закрыто]
Я хочу добавить суффикс ко всем файлам в текущем каталоге.
вот что у меня есть до сих пор от поиска stackoverflow и Google (и немного возиться) вокруг, но он продолжает терпеть неудачу. Я хочу добавить строку 3.6.16
для всех .png
файлы в мой каталог. Я могу сделать префиксную часть, но мой суффикс терпит неудачу (я предполагаю из-за расширения).
используете bash:
for item in *.png; do mv "$file" "${file}_3.6.14.png"; done
2 ответов
for file in *.png; do
mv "$file" "${file%.png}_3.6.14.png"
done
${file%.png}
увеличивается до ${file}
С .png
суффикс удалены.
вы можете сделать это с помощью команды rename,
rename 's/\.png/_3.6.14.png/' *.png
через Баш,
for i in *.png; do mv "$i" "${i%.*}_3.6.14.png"; done
заменяет .png
во всех .png
файлы _3.6.14.png
.
-
${i%.*}
все, что после последней точки будет урезанное. Так что.png
часть будет отрезана от имени файла. -
mv $i ${i%.*}_3.6.14.png
переименовать оригинал .png файлы с именем+_3.6.14.формат PNG.