Zmiana nazw plików i ich numeracja

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
elesmod
Użytkownik
Posty: 47
Rejestracja: 2012-08-30, 13:00

Zmiana nazw plików i ich numeracja

Post 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 :/
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: Zmiana nazw plików i ich numeracja

Post 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
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
elesmod
Użytkownik
Posty: 47
Rejestracja: 2012-08-30, 13:00

Re: Zmiana nazw plików i ich numeracja

Post 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 )
ODPOWIEDZ