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 15:44 | Upozornění

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal varování (pdf) před používáním softwaru i hardwaru společností Huawei Technologies Co., Ltd., a ZTE Corporation. Používání těchto prostředků představuje bezpečnostní hrozbu.

Ladislav Hagara | Komentářů: 12
dnes 13:33 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 159. brněnský sraz, který proběhne v pátek 21. prosince od 18:00 v restauraci Na blbým místě na adrese Pellicova 5b.

Ladislav Hagara | Komentářů: 0
dnes 12:55 | Bezpečnostní upozornění

V relačním databázovém systému SQLite (Wikipedie) byla nalezena bezpečnostní chyba pojmenovaná Magellan. Chyba se týká také webových prohlížečů postavených na Chromiu podporujících WebSQL API (POC). Bezpečnostní chyba byla opravena v SQLite 3.26.0 a v Chromiu 71.0.3578.80.

Ladislav Hagara | Komentářů: 0
dnes 12:11 | Nová verze

WinBtrfs, open source systémový ovladač pro systémy Microsoft Windows umožňující přístup k linuxovému souborovému systému Btrfs, byl vydán ve verzi 1.1. Přináší podporu komprese zstd (Zstandard). WinBtrfs je používán například v operačním systému ReactOS.

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

Nadace Cloud Native Computing Foundation (CNCF), jejíž cílem je usnadnit spolupráci při vývoji a zavádění nových cloudových technologií, projekt konsorcia Linux Foundation, organizovala od 10. do 13. prosince v Seattlu konferenci KubeCon + CloudNativeCon North America 2018. Shrnutí dění na konferenci v příspěvku na blogu. V úvodu konference společnost Red Hat věnovala této nadaci distribuovanou key-value databázi etcd. Jedná se o

… více »
Ladislav Hagara | Komentářů: 0
14.12. 14:33 | Nová verze

Byla vydána nová verze 1.30 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.

Ladislav Hagara | Komentářů: 2
14.12. 14:22 | Nová verze

Deset dnů po představení beta verze byla vydána stabilní verze Steam Linku pro Raspberry Pi umožňující streamovat hry ve službě Steam z počítače na televizní obrazovku.

Ladislav Hagara | Komentářů: 9
13.12. 20:00 | Nová verze

Byla vydána (YouTube) verze 2018.3 multiplatformního herního enginu Unity (Wikipedie). Přehled novinek i s videoukázkami v příspěvku na blogu a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
13.12. 19:33 | Nová verze

Byla vydána verze 18.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Správce souborů Dolphin umí nově například zobrazovat náhledy dokumentů vytvořených v LibreOffice a aplikací ve formátu AppImage. Konsole plně podporuje obrázkové znaky emoji. V Okularu lze k pdf souborům přidávat poznámky.

Ladislav Hagara | Komentářů: 12
13.12. 17:11 | Nová verze

Byla vydána nová stabilní verze 2.2 (2.2.1388.34) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují například vylepšení správy listů - vybrané listy lze uložit jako relaci, možnost zobrazení klávesových zkratek určených webovou stránkou nebo možnost přehrávání videí v režimu obrazu v obraze. Nejnovější Vivaldi je postaveno na Chromiu 71.0.3578.85.

Ladislav Hagara | Komentářů: 9
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (9%)
 (12%)
 (30%)
 (25%)
Celkem 138 hlasů
 Komentářů: 19, poslední 14.12. 18:37
Rozcestník

Dotaz: BASH: find

15.2.2006 18:15 h7
BASH: find
Přečteno: 1304×
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: 68
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: 48 | 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: 68
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.