Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Bash - přejmenování souborů, zarovnání nulama (zero padding)  (Přečteno 1632 krát)

DuckD

  • Stálý člen
  • ***
  • Příspěvků: 878
  • Karma: +126/-13
  • Open Srdcař
    • Zobrazit profil
    • www.duckd.cz
Ahoj, nevím si rady jak přejmenovat soubory. Program mi zapisuje soubory takto:
1.jpg 2.jpg ... 10.jpg 11.jpg
popřípadě
a1.jpg a2.jpg ... a10.jpg a11.jpg

bash skript mi zase zpracovává soubory následovně:
1.jpg 10.jpg 11.jpg 2.jpg (to je špatně)
Kód: [Vybrat]
for f in pictures/*.jpg; do
  echo $f;
  #echo `printf pictures/foo%05d ${f#foo}`;
  #mv $f `printf pictures//%05d.jpg $f`;
done

Chtěl bych mít výsledek následující:
000001.jpg
000002.jpg
000010.jpg
000011.jpg

Poradíte prosím?
8) Lidé žijí v souborech. ===>> LINUXTERO <<=== Pravidelná dávka tvého linuxtera!

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3727
  • Karma: +363/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:Bash - přejmenování souborů, zarovnání nulama (zero padding)
« Odpověď #1 kdy: 10 Prosinec 2015, 15:11:01 »
napoveda:

Kód: [Vybrat]
> printf "%0.7i\n%0.7i\n" 1 112
0000001
0000112

> perl -e 'printf("%0.4f\n%0.10i\n%0.10i\n", "0.11", "11", "11111")'
0.1100
0000000011
0000011111
« Poslední změna: 10 Prosinec 2015, 15:15:02 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??