Portál AbcLinuxu, 11. května 2024 02:38


Dotaz: čas souboru do proměnné

15.8.2004 19:18 Filip Hesse | skóre: 20
čas souboru do proměnné
Přečteno: 91×
Odpovědět | Admin

Ve skriptu potřebuji používat pouze dvoumístný měsíc, potom pouze dvoumístný den,...

#!/bin/bash
for soubory in *jpg
do
mm=měsíc_souboru_$soubory
dd=den_souboru_$soubory
mv $soubory $mm$dd.jpg
done

Ještě tam bude pořadí souboru ve dni, ještě odladit, ale hlavně nevím, jak naplnit $mm a $dd. Předem díky.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.8.2004 19:33 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: čas souboru do proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
mesic=$(stat -c %y "$soubor" | cut -c 6-7)
den=$(stat -c %y "$soubor" | cut -c 9-10)
Teda asi, protože těžko říci, který z časů chceš...

A nyní vzdejme hold mocnému findu :o)

Já bych to celé přejmenoval asi takhle:
find . -maxdepth 1 -name '*.jpg' -printf "mv '%p' %m%d.jpg\\n" | sh
Šťouraly rovnou upozorňuji, že obsahují-li jména souborů konce řádků nebo apostrofy, nedopadne to dobře. Nebo přes -exec, ale to už sem nebudu vypisovat, vyjde to nastejno.
15.8.2004 19:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: čas souboru do proměnné
Tohle nedopadne dobře určitě ;-) mělo to být
find . -maxdepth 1 -name '*.jpg' -printf "mv '%p' %Tm%Td.jpg\\n" | sh
15.8.2004 20:48 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: čas souboru do proměnné

Funguje obojí, díky.

Stanislav Brabec avatar 16.8.2004 17:56 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: čas souboru do proměnné
nebo:
#!/bin/bash
for soubor in *jpg ; do
    mv -i "$soubor" "$(date +%m%d -r $soubor).jpg"
done

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.