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 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze Ladislav Hagara | Komentářů: 2
    včera 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 4
    včera 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 24
    27.8. 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    27.8. 14:22 | IT novinky

    Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.

    Fluttershy, yay! | Komentářů: 7
    27.8. 13:11 | Nová verze

    Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.

    Ladislav Hagara | Komentářů: 0
    27.8. 05:11 | Komunita

    Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.

    Ladislav Hagara | Komentářů: 18
    26.8. 12:55 | IT novinky

    EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.

    Ladislav Hagara | Komentářů: 78
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (79%)
     (9%)
     (3%)
     (4%)
     (5%)
     (1%)
    Celkem 104 hlasů
     Komentářů: 9, poslední včera 11:53
    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.2022 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: 386×
    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.2022 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.2022 18:55 z_sk | skóre: 34 | 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.2022 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.2022 18:36 z_sk | skóre: 34 | 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.2022 11:29 Andrej | skóre: 51 | 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.2022 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.2022 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.2022 11:11 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    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.2022 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.2022 11:14 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    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.2022 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.