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í
×
včera 12:33 | Zajímavý projekt

Kernel.org představil lore.kernel.org, tj. archiv diskusního listu vývojářů linuxového jádra LKML (Linux Kernel Mailing List) s řadou zajímavých funkcí. Archiv běží na softwaru Public Inbox.

Ladislav Hagara | Komentářů: 1
včera 10:55 | Nová verze

Po devíti měsících vývoje od vydání verze 10.0 byla vydána verze 11.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 1
22.6. 20:44 | Nová verze

Po více než 3 měsících vývoje od vydání verze 238 oznámil Lennart Poettering vydání verze 239 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 11
22.6. 15:00 | Nová verze

Bylo oznámeno vydání nové stabilní verze 1.28 a beta verze 1.29 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání. Atom 1.28 je postaven na Electronu 2.0.

Ladislav Hagara | Komentářů: 1
22.6. 14:00 | Nová verze

Byla vydána nová verze 2.3.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy na PIXLS.US.

Ladislav Hagara | Komentářů: 0
22.6. 13:00 | Komunita

Akční RPG hra Shadowrun Returns Deluxe, kterou lze hrát i na Linuxu je nyní zdarma na Humble Bundle. Hra vyšla díky kampani na Kickstarteru v roce 2013.

tajny_007 | Komentářů: 0
22.6. 01:00 | Nová verze

Byla vydána verze 1.27 programovacího jazyka Rust (Wikipedie). Z novinek je nutno zmínit podporu SIMD (Single Instruction Multiple Data). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 7
21.6. 16:22 | IT novinky

CEO Intelu Brian Krzanich rezignoval (tisková zpráva). Oficiálním důvodem je "vztah na pracovišti". S okamžitou platností se dočasným CEO stal Robert Swan.

Ladislav Hagara | Komentářů: 41
21.6. 14:11 | Komunita

Konsorcium Linux Foundation ve spolupráci s kariérním portálem Dice.com zveřejnilo 2018 Open Source Jobs Report. Poptávka po odbornících na open source neustále roste.

Ladislav Hagara | Komentářů: 1
21.6. 12:44 | Zajímavý článek

Na stránkách linuxové distribuce Ubuntu Studio byla publikována příručka Ubuntu Studio Audio Handbook věnována vytváření, nahrávaní a úpravě zvuků a hudby nejenom v Ubuntu Studiu. Jedná se o živý dokument editovatelný na jejich wiki.

Ladislav Hagara | Komentářů: 0
Jak čtete delší texty z webových stránek?
 (77%)
 (22%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 248 hlasů
 Komentářů: 39, poslední 21.6. 17:44
    Rozcestník

    Dotaz: for cyklus, find, mezera ve jmenu souboru

    31.8.2007 12:39 janx
    for cyklus, find, mezera ve jmenu souboru
    Přečteno: 1605×
    Kdyz se vyskytne ve jmenu souboru, tak v $i mam dve casti

    priklad: jmeno souboru: /pdf/profile/profile_rts test.pdf

    for i in `find ./ -type f -name '*'`; do echo " -- $i"; done

    vystup:

    -- ./adb/files/pdf/profile/profile_rts -- test.pdf

    Nesetkal jste se s timto nekdo? Je nejake jednoduche reseni v bashi?

    Diky Honza

    ps: bash --version GNU bash, version 3.2.17(1)-release (i686-pc-linux-gnu)

    Odpovědi

    31.8.2007 12:59 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Je to normální chování příkazu for, který seznam parametrů dělí podle bílých znaků. jednoduché řešení je nepoužívat for a find dohromady pro něco, co umí sám find:
    find ./ -type f -name '*' -exec echo " -- " "{}" \;
    
    \; (středník jako parametr, backslash jej uvozuje aby jej neinterpertoval shell) ukončuje spouštěný příkaz, místo {} se postupně dosadí jména nalezených souborů.
    31.8.2007 13:48 janx
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    a kdyz to pouzivam v tomto kontextu? Asi lepsi uz udelat skript,co?

    for i in `find ./ -type f -name '*.java'`; do echo $i; awk '{if(tolower($0) ~ /select/) print NR " : " $0}' $i | sort -n; done
    31.8.2007 14:15 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    find ./ -type f -name '*.java' -exec echo {} \; awk '{if(tolower($0) ~ /select/) print NR " : " $0}' {} \; | sort -n
    
    31.8.2007 14:33 janx
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    chyba:

    find: paths must precede expression: awk

    31.8.2007 15:06 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Vypadl mi tam jeden -exec
    find ./ -type f -name '*.java' -exec echo {} \; -exec awk '{if(tolower($0) ~ /select/) print NR " : " $0}' {} \; | sort -n
    
    4.9.2007 12:26 janx
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Diky diky. To jsem nevedel, ze jde exec pouzit vicenasobne. Bezva diky

    Honza
    4.9.2007 15:32 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Jenom musíte dát pozor na to, že i -exec se chová jako podmínka: splněná, pokud příkaz vrátí nulu. Takže pokud první spouštěný příkaz skončí chybou, druhý už se neprovede.
    Josef Kufner avatar 31.8.2007 13:43 Josef Kufner | skóre: 68
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    find ... \
    | while read filename
      do
          echo $filename
          ...
      done
    
    Hello world ! Segmentation fault (core dumped)
    31.8.2007 14:35 Martin Doucha | skóre: 23 | blog: Yet another blog
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    IFS=`echo` váš problém vyřeší. IFS je proměnná, která obsahuje seznam oddělovačů slov. Pokud není nastavená, BASH bere jako oddělovače všechny bílé znaky (mezera, tabulátor, konec řádku...). Příkaz echo bez parametrů pouze odřádkuje, tedy ten příkaz nastaví jako oddělovač jen konec řádku. Pokud to chcete používat v interaktivním terminálu nebo sourcovaném skriptu, tak nakonec ještě pro jistotu udělejte unset IFS, aby to pak nedělalo neplechu jinde.
    31.8.2007 14:50 janx
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Ja vedel, ze to ma nějake "jednoduche" reseni. Ale o promenne IFS jsem nikdy neslysel. Kazdopadne to ted funguje jak ma.

    Diky diky!

    H.
    31.8.2007 14:55 ams
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    grep -Rni select *.java
    4.9.2007 16:09 Ondra
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    for i in ./*; do
       echo " -- $i"
    done
    
    4.9.2007 17:17 Martin Doucha | skóre: 23 | blog: Yet another blog
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    find při hledání prohledává celou adresářovou strukturu, ne jen aktuální adresář jako váš návrh. Navíc narozdíl od tazatele nerozlišujete soubory a adresáře.
    4.9.2007 17:36 Ondra
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    To sice jo, ale kdo vi, co vlastne potrebuje...
    4.9.2007 19:18 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    To sice jo, ale kdo vi, co vlastne potrebuje...
    Tazatel to .
    4.9.2007 20:28 Ondra
    Rozbalit Rozbalit vše Re: for cyklus, find, mezera ve jmenu souboru
    Ok;-). Tak to pardon.

    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.