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 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 5
včera 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
včera 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 25
včera 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 10
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 5
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 60
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, 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 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 675 hlasů
 Komentářů: 61, poslední dnes 13:06
Rozcestník
Reklama

Dotaz: BASH: find

15.2.2006 18:15 h7
BASH: find
Přečteno: 1298×
Ahoj, snazim se napsat skrip ,ktery prochazi vetsi mnozstvi souboru (cca 4M) ,ty rozparsuje a na zaklade vysledku provede urcite akce.

Zatim mam reseni ,kdy "hloupe" vylistuji pomoci find soubory do txt a az v druhem kroku nactu soubory z txt a aplikuji na ne prikazy atd...

Dotaz: jak mam nacpat vice konstukci typu IF ELSE atd.. a prikazu za find -exec ??

...nejradeji bych pouzil vlastni bash funkce ,ale nevim jak na to.

ps: findu se nechci zbavit kvuli jeho parametrizaci a odolnosti ,ale precijenom nemate nekdo napsany odolny find v bashi?

Diky moc za kazdou radu

Řešení dotazu:


Odpovědi

15.2.2006 19:35 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: BASH: find
necham sice uplne presne co chces ale mozno je to prave nieco taketo:
for i in `find .`
do
  tu aplikujes tie prikazy na subory
done
15.2.2006 19:36 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: BASH: find
necham == nechapem
Řešení 1× (Tomáš Glabasňa)
15.2.2006 21:39 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: BASH: find
ten for je pěkně na (cenzurováno)

lepší (a narozdíl od for i funkční) je použít
find a jeho parametry | while read prom; do
 echo "tady si delej co chces s $prom"
done
-- Nezdar není hanbou, hanbou je strach z pokusu.
Josef Kufner avatar 15.2.2006 21:56 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: BASH: find
mno, tomu bych taky nevěřil...
find ... -print0 | xargs -0 neco
Pokud je potřeba dělat nějaké složitější akce, tak si napiš skript, který tu akci udělá na souborech, které se mu předají jako parametr a timhle to pak spust.
Hello world ! Segmentation fault (core dumped)
15.2.2006 21:59 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: BASH: find
mno, tomu bych taky nevěřil...

čemu nevěříš? Pokud chce na každý soubor aplikovat nějaká pravidla, tak mi tohle připadá lepší než spouštění zvláštního skriptu.
-- Nezdar není hanbou, hanbou je strach z pokusu.
16.2.2006 01:00 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: BASH: find
nejednalo sa o kvalitu ale o napad..
15.2.2006 21:43 Aleš Kapica | skóre: 45 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: BASH: find
find www/ -type f -perm 600 -exec 'chmod -c 755 {}' \;

Projeď adresář www a na všechny soubory co mají právo čtení a zápisu pouze pro vlastníka aplikuj příkaz chmod s následujícími parametry.

Jinak poradím jen jedno. Hledej šmudlo a koukni se taky na http://cs.wikibooks.org/wiki/Linux

Josef Kufner avatar 15.2.2006 21:57 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: BASH: find
To je ukrutně pomalé...
Hello world ! Segmentation fault (core dumped)
15.2.2006 22:16 h7
Rozbalit Rozbalit vše Re: BASH: find
Diky moc za rady. Vase reseni pracuji takto: find najde vsechny soubory a na ty se potom aplikuje sada prikazu. Ja potrebuji v okamziku,kdy najdu urcity soubor ihned na nej aplikovat ma pravidla. Ano ,muzu si napsat druhy skript a ten potom spoustet pomoci -exec ,ale to neni ono. Nejradeji bych obsah tohoto skriptu vypsal nejak za -exec ,ale jak? h7
David Watzke avatar 15.2.2006 22:29 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: BASH: find
Ne, ne... s while read F to provádí hned jakmile je najde..
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
16.2.2006 08:33 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH: find
No to bych tak s určitostí netvrdil. Spíš bych sázel na to, že se to začne provádět nejpozději, když je toho tolik, co zaplní blok jádra (buffer pipe). To je standardně 4kB. Nicméně, z toho co tu zaznělo bych to řešení považoval za jedno z nejlepších. Zbytečně se neforkuje jako při použití -exec. Nicméně si napsat vlastní script, který ale nebude pracovat s jedním souborem, ale pomocí shift (nebo for i; do ...; done) postupně zpracuje všechny parametry a použít ... -print0 | xargs -0 ... taky není vůbec špatný nápad (nicméně o chlup pomalejší než find | while read; do ... done). Nicméně pokud jde fakt o rychlost, tak bych použil třeba perl a File::Find.

P.S.: Debilky jako Azurit, kteří jen tak plácnou úplnou kravinu a pak to omlouvají tím, že to byl jen takový návrh radši vůbec nečti. To je vidět na první pohled, že pár miliónů souborů vživotě nespracovával a o fungování for i in `find` ví méně než nic (původně hovno).
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
16.2.2006 08:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH: find
Jo, úplně bych zapoměl, gnu find má od nějaké verze možnost za -exec místo \; napsat + a to se pak chová jako -print0 | xargs -0
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
19.2.2006 17:04 Undefined | skóre: 6
Rozbalit Rozbalit vše Re: BASH: find
RE R.S.: To je sice pekny, ale kdyby tu meli odpovidat jenom naprosty odbornici, tak bych se dockal odpovedi na svuj dotaz tak za 5 let... nemuzu soudit jestli to je debilek nebo neni, ale aspon se snazil...tak mu nenadavej...ju ;-)
20.2.2006 12:14 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH: find
RE R.S.: To je sice pekny, ale kdyby tu meli odpovidat jenom naprosty odbornici, tak bych se dockal odpovedi na svuj dotaz tak za 5 let...
Ničím nepodložená spekulace.
nemuzu soudit jestli to je debilek nebo neni, ale aspon se snazil...
Ne, nesnažil se. Jen tak plácnul první blobost co ho napadla. Kdyby ti poradil rm -rf /, tak budeš patrně taky šťastnej jak blecha.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
Stanislav Brabec avatar 20.2.2006 16:41 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše find v bashi
Základ pro find v bashi vypadá nějak takto:
# bash_find cesta action ...
# bude volat action ... soubor
shopt -s nullglob
shopt -s dotglob
function bash_find {
    local item
    local path="$1"
    shift
    if test -d "$path" ; then
        for item in "$path/"* ; do
            bash_find "$item" "$@"
        done
    else
        "$@" "$path"
    fi
}

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.