LINUX.ORG.RU

Скрипт для массового переименования

 


1

3

Помогите написать скрипт для массового переименования (не важно на чем).

Есть несколько десятков папок типа 123, 124, 125 ... в каждой из которых несколько десятков изображений 01.png, 02.png, ... , 30.png. Надо к изображениям в каждой папке добавить в начало имени еще и номер папки (т.е. чтобы в папке 123 стало 123_01.png, 123_02.png, ... , 123_30.png и т.д.).

Вроде скрипт фигня, но у меня что-то не выходит.

Вроде скрипт фигня, но у меня что-то не выходит.

Скрипт и правда пятистрочник, и то при условии его наглядности.

Потому интересно спросить, а что пробовалось и что именно не выходит?

iu0v1
()

thunar и/или pcmanfm в это умеют. не помню, кто из них, но, по-моему thunar

sudopacman ★★★★★
()
for i in *; do cd $i && rename '' $i\_ * && cd ..; done

Пойдёт?

[7:49] /tmp/2 % tree
.
├── 123
│   ├── 01.png
│   ├── 02.png
│   └── 03.png
├── 124
│   ├── 01.png
│   ├── 02.png
│   └── 03.png
└── 125
    ├── 01.png
    ├── 02.png
    └── 03.png

3 directories, 9 files
[7:49] /tmp/2 % for i in *; do cd $i && rename '' $i\_ * && cd ..; done
[7:49] /tmp/2 % tree
.
├── 123
│   ├── 123_01.png
│   ├── 123_02.png
│   └── 123_03.png
├── 124
│   ├── 124_01.png
│   ├── 124_02.png
│   └── 124_03.png
└── 125
    ├── 125_01.png
    ├── 125_02.png
    └── 125_03.png

3 directories, 9 files
Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)
% zmv -nw <->/<->.png '$1/$1_$2.png'
salsa
()
Ответ на: комментарий от Psych218

чяднт?

➜  test  tree
.
├── 123
│   ├── 01.png
│   ├── 02.png
│   └── 03.png
├── 124
│   ├── 01.png
│   ├── 02.png
│   └── 03.png
└── 125
    ├── 01.png
    ├── 02.png
    └── 03.png

3 directories, 9 files
➜  test  for i in *; do cd $i && rename '' $i\_ * && cd ..; done
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
cd: no such file or directory: 124
cd: no such file or directory: 125
➜  123  

greymax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.