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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

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

DuckD

  • Stálý člen
  • **
  • Příspěvků: 878
  • Open Srdcař
    • 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
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Bash - přejmenování souborů, zarovnání nulama (zero padding)
« Odpověď #1 kdy: 10 Prosince 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 Prosince 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 ??

 

Provoz zaštiťuje spolek OpenAlt.