abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 4
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    7.5. 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (14%)
     (16%)
    Celkem 139 hlasů
     Komentářů: 10, poslední včera 17:35
    Rozcestník

    Dotaz: bash script - prejmenovani souboru

    8.1.2016 21:45 petrfm | skóre: 23
    bash script - prejmenovani souboru
    Přečteno: 546×
    Ahoj, prosim o pomoc, potreboval bych udelat script, ktery prida prefix ke vsem obrazkum v adresari. Nasel jsem tohle :
    for f in $(find . -name '*.jpg'); do mv "$f" "$(dirname "$f")/prefix_$(basename "$f")"; done
    Potreboval bych to upravit tak, aby to fungovalo na vice pripon, t.j. jpg, jpeg, gif, atd a aby prefix bylo jmeno nadrazeneho adresare + znak pomlcky. Mam adresare a123 a124 a125 a v nich jsou ty obrazky. Potrebuju z kazdeho toho adresare spustit ten skript, on by si zjistil ze je v adresari a123 a pridal tedy vsem obrazkum prefix a123-obrazek1.jpg, atd.

    Druha moznost je, ze by to proslo ty obrazky abecedne, jak jdou za sebou a prejmovalo je to na a123-1, a123-2,atd. To by bylo jeste lepsi.

    Dekuji za pomoc, na bash scripty jsem totalni lama :-( P.
    fuck the cola, fuck the pizza, all you need is slivovitza

    Odpovědi

    8.1.2016 22:31 vrana
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    v bashi:
    for d in *; do
      cd $d || continue
      i=1
      for f in *; do
        mv $f $d-$((i++))
      done
      cd -
    done
    
    8.1.2016 23:04 NN
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    #!/bin/bash
    dir=`basename $PWD`
    rename "s/(.*)/$dir-\1/" *.{jpg,jpeg,gif} 2>/dev/null
    
    9.1.2016 08:00 petrfm | skóre: 23
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    Diky moc, panove, integruju si to do cinnosti v KDE a usnadni mi to moc prace.
    fuck the cola, fuck the pizza, all you need is slivovitza
    9.1.2016 16:43 petrfm | skóre: 23
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    Tak prvni priklad mi vyhazuje chybu...
    petr@T400:~/test/e123$ ./prejmenuj.sh 
    ./prejmenuj.sh: řádek 3: cd: e123-1.jpeg: není adresářem
    ./prejmenuj.sh: řádek 3: cd: e123-2.jpeg: není adresářem
    ./prejmenuj.sh: řádek 3: cd: e123-3.jpeg: není adresářem
    ./prejmenuj.sh: řádek 3: cd: prejmenuj.sh: není adresářem
    petr@T400:~/test/e123$ 
    
    
    No a ten druhy zase doplni prefix, to funguje super, ale pokud mam obrazky s nazvem A,B,C, atd, slo by udela ,aby je prejmenoval na e123-1, atd? Aby uplne smazal jejich nazev a prepsal je nazvem adresare a -1,-2,-3, atd?
    cili mam a.jpg,b.jpg,c.jpg
    
    a chci
    
    e123-1.jpg
    e123-2.jpg
    atd..
    fuck the cola, fuck the pizza, all you need is slivovitza
    9.1.2016 20:42 petrfm | skóre: 23
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    Tak, vyreseno, sice trochu krkolomne, ale funguje :-)

    #!/bin/bash
    prefix=`basename $PWD`"-"
    
    a=1
    for i in *.jpg; do
      new=$prefix$(printf "%01d.jpg" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    
    
    
    a=1
    for i in *.jpeg; do
      new=$prefix$(printf "%01d.jpeg" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    
    
    a=1
    for i in *.png; do
      new=$prefix$(printf "%01d.png" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    
    
    
    
    fuck the cola, fuck the pizza, all you need is slivovitza
    9.1.2016 21:04 petrfm | skóre: 23
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    Kdyby se to někdy někomu hodilo, tak jsem to učesal a doplnil o GTK dialog pro možnost změny tvaru prefixu :-) Do okna se vloží implicitně adresář, ale dá se to snadno přepsat, nebo odklepnout entrem :-)
    #!/bin/bash
    prefix=`basename $PWD`"-"
    
    prefix=$(zenity --entry --entry-text=$prefix)
    retval=$?
    
    case $retval in
    0)
    echo "Input string is '$prefix'";;
    1)
    exit;;
    esac
    
    # ============================== jpg
    a=1
    for i in *.jpg; do
      new=$prefix$(printf "%01d.jpg" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    # ============================== jpeg
    a=1
    for i in *.jpeg; do
      new=$prefix$(printf "%01d.jpeg" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    # ============================== png
    a=1
    for i in *.png; do
      new=$prefix$(printf "%01d.png" "$a") #04 pad to length of 4
      mv -- "$i" "$new"
      let a=a+1
    done
    
    
    
    fuck the cola, fuck the pizza, all you need is slivovitza
    9.1.2016 21:44 petrfm | skóre: 23
    Rozbalit Rozbalit vše Re: bash script - prejmenovani souboru
    ajajaj.... ted jsem si tim hezky rozesral adresarovou strukturu... pustil jsem to nad sambou, kde mam adresare i ve tvaru !!adresar nebo /adresar-tady/!!neco/obrazky/ a krasne mi to prejmenovalo adresare uplne jinde :-(

    Asi tomu chybi nejake osetreni tech cest, aby to nebralo vykricnik jako zastupny znak.... No do (_!_), usetril jsem si skriptem praci :-) Ted budu pul hodiny opravovat, brrrrrrrr
    fuck the cola, fuck the pizza, all you need is slivovitza

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.