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 » 2013-11-20, 00:01

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: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: Zmiana nazw plików i ich numeracja

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

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 called “mina86” in response to the previous one. :: Tiny Applications

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 » 2013-11-20, 14:21

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