abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 22:33 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Lorelai (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | Nová verze

    Curl, řádkový nástroj a knihovna pro přenos dat po různých protokolech, slaví 25 let. Vydána byla nová verze 8.0.0. Mimo jiné řeší 6 zranitelností.

    Ladislav Hagara | Komentářů: 1
    dnes 10:00 | Komunita

    V sobotu 25. března proběhne Arduino Day 2023. Od 14:00 lze sledovat oficiální stream. Zúčastnit se lze i lokálních akcí. V Česku jsou aktuálně registrovány dvě: v Praze na Matfyzu a v Poličce v městské knihovně.

    Ladislav Hagara | Komentářů: 0
    dnes 09:00 | Zajímavý projekt

    Fabrice Bellard, tvůrce FFmpeg nebo QEMU, představil TextSynth Server. Jedná se o webový server nabízející REST API k velkým AI jazykovým modelům. CPU verze je k dispozici zdarma jako binárka pod licencí MIT. GPU verze je komerční. Vyzkoušet lze na stránkách TextSynth.

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | Komunita

    Na konferenci LibrePlanet 2023 byly vyhlášeny ceny Free Software Foundation. Oceněni byli Eli Zaretskii za dlouhodobé příspěvky (správce Emacsu), Tad „SkewedZeppelin“ za nové příspěvky (správce DivestOS, distribuce Androidu) a projekt GNU Jami za společenský přínos.

    Fluttershy, yay! | Komentářů: 0
    dnes 07:00 | Nová verze

    Projekt Libreboot (Wikipedie) vydal novou verzi 20230319 svého svobodného firmwaru nahrazujícího proprietární BIOSy. Přibyla například podpora Lenovo ThinkPadů W530 a T530. Libreboot je distribucí Corebootu bez proprietárních blobů.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Komunita

    Na YouTube jsou k dispozici videozáznamy z 20. konference SCALE (Southern California Linux Expo). Závěrečnou přednášku měl dnes již osmdesátiletý Ken Thompson. Na otázku, jaký operační systém používá, odpověděl: "Většinu svého života jsem používal Apple, protože jsem se do této společnosti tak trochu narodil. Poslední dobou, myslím posledních pět let, jsem ale kvůli Applu více a více depresivní. To, co dělá s něčím, co by vám mělo umožnit

    … více »
    Ladislav Hagara | Komentářů: 3
    včera 16:44 | Nová verze

    Byla vydána verze 10.00 linuxové distribuce SystemRescue, původně SystemRescueCd, určené pro záchranu systémů a dat. Přehled novinek v changelogu. Linux byl povýšen na verzi 6.1.20.

    Ladislav Hagara | Komentářů: 0
    18.3. 11:33 | Nová verze

    Byla vydána verze 16.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++ a Polly.

    Ladislav Hagara | Komentářů: 0
    17.3. 09:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2023 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (4%)
     (11%)
    Celkem 266 hlasů
     Komentářů: 1, poslední 6.3. 07:51
    Rozcestník


    Dotaz: bash script - prejmenovani souboru

    8.1.2016 21:45 petrfm | skóre: 23
    bash script - prejmenovani souboru
    Přečteno: 515×
    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.