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 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 4
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 27
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 381×
    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.