Fórum Ubuntu.cz

Ubuntu pro osobní počítače => Příkazový řádek a programování pro GNU/Linux => Téma založeno: DuckD 10 Prosinec 2015, 14:42:30

Název: Bash - přejmenování souborů, zarovnání nulama (zero padding)
Přispěvatel: DuckD 10 Prosinec 2015, 14:42:30
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?
Název: Re:Bash - přejmenování souborů, zarovnání nulama (zero padding)
Přispěvatel: ntz_reloaded 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