Баш скрипт для переименования файлов

iccup
На сайте с 01.05.2016
Offline
195
791

Есть около 100к картинок в папке на сервере centos 7. Можно ли их прямо на сервере переименовать если у меня есть такой список с командами где указан пусть и имя файла и новое имя файла

mv /var/www/user/data/www/domain.com/folder/abc.jpg /var/www/user/data/www/domain.com/folder/1-abc.jpg
mv /var/www/user/data/www/domain.com/folder/hfgdj.jpg /var/www/user/data/www/domain.com/folder/2-hfgdj.jpg
mv /var/www/user/data/www/domain.com/folder/adfhdfhj.jpg /var/www/user/data/www/domain.com/folder/3-adfhdfhj.jpg 


kimsufi.com ( https://www.kimsufi.com ) очень дешевые и качественные дедики https://clck.ru/gvF9p - антибот, использую уже 3 года.
W1
На сайте с 22.01.2021
Offline
295
#1
PHP не любите?
Мой форум - https://webinfo.guru –Там я всегда на связи
iccup
На сайте с 01.05.2016
Offline
195
#2
    11873.png 012.png
    21331.png 013.png
    11102.png 014.png
    21400.png 015.png
    11111.png 016.png
    4.png 017.png


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



awk -F' ' 'system("mv " $2 " " $1)' errot_code_table_2.csv


где
awk - утилита
-F' ' - разделитель имен файлов, в моем случае это пробел
system(x) - выполнение кода х в сабшелле
mv - команда переименования
$2 - второй параметр (вторая колонка файла-описания)
$1 - первый параметр (первая колонка файла-описания)
errot_code_table_2.csv - файл описание
https://ejewika.blogspot.com/2018/07/linux-awk.html
Переименование группы файлов в Linux по списку средствами утилиты awk
  • 2018.07.03
  • Иван
  • ejewika.blogspot.com
Появилась как-то задача, в которой нужно было переименовать большую группу файлов по заданному списку. Список выглядел примерно так: 11118.png 001.png 11556.png 002.png 21118.png 003.png 11117.png 004.png 11104.png 005.png 11710.png 006.png 11551.png 007.png 11868.png 008.png 11557.png 009.png 710.png 010.png 11113.png 011.png 11873.png 012.png...
S3
На сайте с 29.03.2012
Offline
305
#3

Какие утилиты, тут скрипта всего ничего like that:

num=1
for item in *.png; do
  new=$(printf "%01d-$item" "$num")
  mv -i -- "$item" "$new"
  let num=num+1
done

в одну строчку можно, расписал для понятности

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий