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 13:00 | Komunita

Do 30. října se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 4. prosince 2018 do 4. března 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 47
21.9. 22:22 | Komunita

Společnost Purism představila kryptografický token Librem Key. Koupit jej lze za 59 dolarů. Token byl vyvinut ve spolupráci se společností Nitrokey a poskytuje jak OpenPGP čipovou kartu, tak zabezpečení bootování notebooků Librem a také dalších notebooků s open source firmwarem Heads.

Ladislav Hagara | Komentářů: 8
21.9. 20:33 | Nová verze

Společnost NVIDIA oficiálně vydala verzi 10.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
21.9. 20:00 | Upozornění

Příspěvek Jak přežít plánovanou údržbu DNS na blogu zaměstnanců CZ.NIC upozorňuje na historicky poprvé podepsání DNS root zóny novým klíčem dne 11. října 2018 v 18:00. Software, který nebude po tomto okamžiku obsahovat nový DNSSEC root klíč, nebude schopen resolvovat žádná data. Druhým důležitým datem je 1. února 2019, kdy významní výrobci DNS softwaru, také historicky poprvé, přestanou podporovat servery, které porušují DNS standard

… více »
Ladislav Hagara | Komentářů: 8
21.9. 15:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 156. brněnský sraz, který proběhne v pátek 21. září od 18:00 v restauraci Na Purkyňce na adrese Purkyňova 80.

Ladislav Hagara | Komentářů: 0
21.9. 13:22 | Nová verze

Alan Griffiths z Canonicalu oznámil vydání verze 1.0.0 display serveru Mir (GitHub, Wikipedie). Mir byl představen v březnu 2013 jako náhrada X serveru a alternativa k Waylandu. Dnes Mir běží nad Waylandem a cílen je na internet věcí (IoT).

Ladislav Hagara | Komentářů: 0
20.9. 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 5
20.9. 21:32 | Zajímavý projekt

Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.

Fluttershy, yay! | Komentářů: 1
20.9. 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 12
20.9. 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (21%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 393 hlasů
 Komentářů: 33, poslední 16.9. 11:55
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: 564×
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.