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 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 11
    včera 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 2
    2.5. 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 0
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 2
    2.5. 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 2
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 3
    1.5. 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 521 hlasů
     Komentářů: 19, poslední 30.4. 11:32
    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: 330×
    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.