abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

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

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

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

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 3
    včera 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 0
    včera 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 22 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    3.6. 17:00 | IT novinky

    Společnost AMD na veletrhu Computex 2024 představila (YouTube) mimo jiné nové série procesorů pro desktopy AMD Ryzen 9000 a notebooky AMD Ryzen AI 300.

    Ladislav Hagara | Komentářů: 0
    3.6. 16:22 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána ve verzi 4.10.0 . Přehled novinek v ChangeLogu. Vypíchnout lze Wayland backend pro Linux.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: bash a soubory s mezerou v nazvu

    Jiří Svoboda avatar 25.12.2003 22:40 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    bash a soubory s mezerou v nazvu
    Přečteno: 592×
    Napsal jsem si kratky jednoucelovy script:
    #!/bin/bash
    for file in `find .`; do
      if [ -f $file ]; then
        chmod 644 $file
      fi
      if [ -d $file ]; then
        chmod 755 $file
      fi
    done
    
    Funguje skvele, az na jednu drobnost. Na vystupu findu se nesmi objevit soubor, ktery ma v ceste nebo nazvu mezeru. Ten je pak forem interpretovan jako nekolik jednotlivych polozek seznamu...

    Zkousel jsem taky vypsat seznam souboru do souboru:
    find . >filelist
    
    a posleze pouzit:
    for file in `cat filelist`; do
    
    Ale i kdyz jsem soubory s cestou dal do uvozovek nebo mezery vyescapoval (backslashem), chova se to stejne...

    Jak se tohle resi? Musi se sachovat s $IFS?

    Divim se, ze jsem na to po tolika letech s Linuxem narazil az ted. Rek bych, ze je to zacatecnickej dotaz, ale nemuzu to najit ani v manu, ani to vygooglovat. :-(

    Odpovědi

    25.12.2003 22:52 ivok
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    I kdyz to neni uplne to na co se ptate, tak 99% lidi pouzije:
    find -type f|xargs chmod 644
    find -type d|xargs chmod 755
    
    Kdyz uz ten "find" a "xargs" nekdo napsat, tak proc je nevyuzit naplno...
    26.12.2003 12:59 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    Pro jistotu raději
    find . -type f -print0 | xargs -0 chmod 644
    find . -type d -print0 | xargs -0 chmod 755
    26.12.2003 00:17 MarSik | skóre: 16 | Brno
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    no ja bych vyuzil asi primo schopnost findu -exec spolu s -flags. a nejdriv bych chmodnul adresare a pak soubory..a zadny problem
    Nothing is foolproof...fools are very clever.
    Jiří Svoboda avatar 26.12.2003 00:50 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    Dik za rady s pouzitim -type parametru findu v tomto konkretnim pripade. -exec znam a pouzivam, ale o existenci -type jsem nemel tuseni. Nicmene bych ten problem potreboval vyresit obecne, musi to prece nejak jit.
    26.12.2003 13:02 Maude Lebowski
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    jde, staci dat nazvy souboru do uvozovek
    "$file"
    Jiří Svoboda avatar 26.12.2003 13:31 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    Nestaci. To jsem samozrejme zkousel taky. :-) Mejme v adresari dva soubory:
    -rw-r--r--    1 jirkas   users           0 Dec 26 13:21 bezmezery
    -rw-r--r--    1 jirkas   users           0 Dec 26 13:21 s mezerou
    
    Pustim na ne script:
    #!/bin/bash
    for file in `find .`; do
      echo $file
    done
    
    A vypise se:
    .
    ./bezmezery
    ./s
    mezerou
    
    A zadny "$file" (v uvozovkach) na tom nic nezmeni, protoze to blbe vypadne uz z toho foru... :-(
    26.12.2003 13:54 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    Ne, tohle skutečně nefunguje. Když napíšete `příkaz`, tak se jeho stdout holt rozbije na slova podle IFS. Řešení jsou např. (a) používat find inteligentně, jak radí ostatní (b) změnit IFS, tj. dát před ten for IFS=$'\n' -- ale bacha, doporučuji pak poměrně rychle změnit zpět, mohl byste se divit jinde... (c) použít find | while read; do ... "$REPLY"; done (d) použít find -print0 | xargs -0 ... (nejbezpečnější forma findu, protože \0 je jediný znak, který v názvu souboru být nemůže) (e) použít find | sed ... | sh (f) použít find | perl ... (g) ...
    Jiří Svoboda avatar 26.12.2003 20:25 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Rozbalit Rozbalit vše bash a soubory s mezerou v nazvu
    Dik za vycerpavajici odpoved. :-)

    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.