Strona 1 z 1

Zmiana nazw plików i ich numeracja

: 2013-11-20, 00:01
autor: elesmod
Skrypt w bashu.

Zrobiłem kilkanaście zrzutów ekranu z filmu przy pomocy VLC. Nazwy tych plików wyglądają tak:

Kod: Zaznacz cały

vlcsnap-2013-11-19-23h29m37s245.png
vlcsnap-2013-11-19-23h29m45s245.png
Próbuję hurtowo je zmniejszyć (image magick) i zmienić wszystkim nazwę, aby wyglądały tak:

Kod: Zaznacz cały

nazwa_01.png
nazwa_02.png
Wykombinowałem coś takiego:

Kod: Zaznacz cały

n=1
for i in vlcsnap*.png
do
   convert $i -resize 640x360 nazwa_0$n.png
   ((n++))
done
Wychodzi dobrze, ale w momencie wejścia w liczby dwucyfrowe dostaję:

Kod: Zaznacz cały

nazwa_09
nazwa_010
Pobuszowałem trochę w internecie i natrafiłem na komendę seq, która bardzo ładnie podaje liczby z wiodącymi zerami:

Kod: Zaznacz cały

seq -w 1 12

01
(...)
09
10
11
12
Ale nie wiem jak ją wpleść do tego, co już mam :/

Re: Zmiana nazw plików i ich numeracja

: 2013-11-20, 13:34
autor: mina86

Kod: Zaznacz cały

n=1
for i in vlcsnap*.png; do
    convert "$i" -resize 640x360 "$(printf nazwa_%02d.png $n)"
    n=$(( $n + 1 ))
done

Re: Zmiana nazw plików i ich numeracja

: 2013-11-20, 14:21
autor: elesmod
O, dzięki mina86. Nie wiedziałem, że można w bashu pisać w sposób bardzo zbliżony do programowania w C (którego zresztą i tak nie umiem :P )