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 00:11 | Komunita

    V červnu bylo oznámeno, že se z K-9 Mailu stane Thunderbird pro Android. Dle plánu by se tak mělo stát v létě 2023. Na svém blogu vývojáři informují o novinkách z vývoje: přizpůsobitelná gesta v K-9 Mailu ve verzi 6.400 a redesign zobrazení zpráv.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2022.12. Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 0
    včera 09:00 | Komunita

    V oznámení o vydání Xfce 4.18 Pre2 jsou výsledky soutěže o výchozí pozadí pro Xfce 4.18. Vydání Xfce 4.18 je plánováno na 15. prosince.

    Ladislav Hagara | Komentářů: 0
    včera 08:00 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu pro jednodeskové počítače na platformě ARM, byl vydán ve verzi 22.11. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 07:00 | Nová verze

    Byla vydána OpenIndiana Hipster 2022.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

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

    O víkendu (15:00 až 23:00) probíhá EmacsConf 2022, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat lze na stránkách konference nebo také na YouTube.

    Ladislav Hagara | Komentářů: 5
    3.12. 09:00 | Bezpečnostní upozornění

    Byly zveřejněny informace o zranitelnosti CVE-2022-4139 v ovladači i915. Problém se týká Intel GPU Gen12. Zranitelnost je opravena v upstream Linuxu 6.0.11, 5.15.81 a 5.10.157.

    Ladislav Hagara | Komentářů: 0
    2.12. 16:22 | IT novinky

    Mozilla tento týden vedle společnosti Pulse převzala také společnost Active Replica. Active Replica pomůže Mozille rozvíjet metaverse, online 3D platformu, Mozilla Hubs.

    Ladislav Hagara | Komentářů: 16
    2.12. 09:00 | Nová verze

    Po dvou letech a deseti měsících od vydání verze 5.8 byla vydána nová verze 5.9 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Představení novinek v oznámení o vydání verze 5.9 (WIP). Nejnovější RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 1
    1.12. 18:33 | IT novinky

    Mozilla převzala společnost Pulse. Z oznámení: "Společně budeme vytvářet modely strojového učení, které budou fungovat transparentně, budou respektovat soukromí a budou od začátku vytvářeny se zaměřením na spravedlnost a inkluzi". Společnost Pulse vyvíjí software pro automatické nastavování stavů ve Slacku.

    Ladislav Hagara | Komentářů: 25
    Už jste se osobně setkali s podvodem typu falešná technická podpora?
     (56%)
     (4%)
     (40%)
    Celkem 78 hlasů
     Komentářů: 2, poslední 2.12. 14:48
    Rozcestník


    Dotaz: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...

    13.11. 17:55 Pepa
    Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Přečteno: 285×
    Dobrý den, potřeboval bych zpracovávat očíslované soubory v adresáři tak, aby se zpracovaly podle čísel 1 2 3 4 5 6 7 8 9 10 11 12 ... a nevím jak to udělat v tomto případě: for file in *.jpg; A aby výstup byl opět správně 1 2 3 4 5 6 7 8 9 10 11. Zatím mi to čte soubory takto 1 10 100 101 102 1000 atd. Ještě doplnění některé soubory nejsou obsaženy, např. : 1 2 3 5 9 10 11 15 .... Takto vypadá např. název souboru: Screen-12.jpg Screen-13.jpg .... Děkuji moc za postrčení.
    Po pětašedesátce jde všechno pomaleji.

    Řešení dotazu:


    Odpovědi

    13.11. 18:43 X
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    for i in $(seq 1 1000); do
    ....
      [ -f "Screen-$i.jpg" ] && ....
    ....
    
    13.11. 18:55 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Nech sa páči:
    $ cd /dev/shm/
    $ mkdir e
    $ cd e
    $ touch 120.jpg
    $ touch 12.jpg
    $ touch 2.jpg
    $ ls
    12.jpg  120.jpg  2.jpg
    $ ls|sort -h
    2.jpg
    12.jpg
    120.jpg
    $
    debian.plus@protonmail.com
    14.11. 18:10 Pepa
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Toto .... ls|sort -h .....bohužel nechodí správně. Př. čísla souborů: 0 1 10 11 12 1223 1224 13 14 2 3 ..... Takto to nepotřebuji, ale takto: 0 1 2 3 10 11 12 13 14 1223 1224
    Po pětašedesátce jde všechno pomaleji.
    14.11. 18:36 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Žiaden problém. Miesto -h treba dat parameter -g.
    $ touch 0 1 10 11 12 1223 1224 13 14 2 3
    $ ls
    0  1  10  11  12  1223  1224  13  14  2  3
    $ ls|sort -g | xargs
    0 1 2 3 10 11 12 13 14 1223 1224
    debian.plus@protonmail.com
    Řešení 1× (Gréta)
    14.11. 11:29 Andrej | skóre: 50 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...

    Pokud jsou čísla v názvech souborů dostatečně „hustá“, tedy žádná nejsou vynechaná nebo je vynechaných rozumně málo:

    for ((i = 1; i <= 1000; ++i)); do
      f="Screen-${i}.jpg"
      [[ -f "$f" ]] && echo "Do something with ${f}!"
    done
    

    Pokud jsou čísla v názvech souborů řídká a testovat existenci všech možných názvů souborů nemá smysl (a/nebo trvá 5000 let):

    declare -ai files
    for f in *.jpg; do
      f="${f%.jpg}"
      f="${f#Screen-}"
      ((++files[f]))
    done
    for i in "${!files[@]}"; do
      f="Screen-${i}.jpg"
      echo "Do something with ${f}!"  
    done
    unset files
    
    Výše uvedené využívá faktu, že (také) indexovaná pole v Bashi jsou řídká a při expanzi jsou implicitně setříděná podle indexů.
    14.11. 18:47 Pepa
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Perfektní! Toto chodí správně. Děkuji moc.
    Po pětašedesátce jde všechno pomaleji.
    14.11. 19:00 unreg
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    To mi prijde moc komplikovane. Pokud vychazim z premisy, ze nazev souboru je dle vzorku Screen-<cislo>.jpg, tak separator je "-" a zajima me druhy sloupec.

    vychozi stav:
    $ ls -1
    Screen-0.jpg
    Screen-10.jpg
    Screen-11.jpg
    Screen-1223.jpg
    Screen-1224.jpg
    Screen-12.jpg
    Screen-13.jpg
    Screen-14.jpg
    Screen-1.jpg
    Screen-2.jpg
    Screen-3.jpg
    sort:
    $ ls -1 | sort -t - -nk2
    Screen-0.jpg
    Screen-1.jpg
    Screen-2.jpg
    Screen-3.jpg
    Screen-10.jpg
    Screen-11.jpg
    Screen-12.jpg
    Screen-13.jpg
    Screen-14.jpg
    Screen-1223.jpg
    Screen-1224.jpg
    Gréta avatar 15.11. 11:11 Gréta | skóre: 35 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...

    todlecto dělání s ls už andrej jednou komentoval hele zdroj :O ;D

    Nikdy neparsuj výstup z ls. Je to

    • nechvalně známý antipattern,
    • náchylné ke spoustě zbytečných chyb,
    • naprosto a totálně a kolosálně zbytečné.

    takže asi jako tak :D ;D

    14.11. 18:58 X
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Nemas delat ty domaci ukoly kompletni, takhle se nic nenauci..
    Gréta avatar 15.11. 11:14 Gréta | skóre: 35 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...

    tssss todlecto je na domáckám moc praktický a ikdyby to jakoby byl domácák nóóó tak teďko se má jako aspoň z čeho učit :D ;D

    14.11. 18:29
    Rozbalit Rozbalit vše Re: Zpracování souborů v adresáři podle správného číselného pořadí : 1 2 3 4 ...10 11 12 ...99 100 101 ...
    Já bych ty fotky přejmenoval podle exifu na YYYY-MM-DD_mmhhss.jpg. Pak není co řešit.

    Případně, pokud tam není exif, se dají ty soubory přejmenovat tak, aby jejich názvy byly stejně dlouhé a na začátku byly uvozené nulami. Pak zase není co řešit.

    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.