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 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

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

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

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

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

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

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

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

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 14
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 12
    29.4. 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 13
    29.4. 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    29.4. 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (16%)
    Celkem 889 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Hledání řetězce v souborech

    2.4.2013 14:08 Jura
    Hledání řetězce v souborech
    Přečteno: 8414×
    Dobrý den vespolek.

    Je nějaký jednodušší způsob jak hledat určitý řetězec v souborech než tento dlouhý sled příkazů ?

    find / -type f -iname '*.php' -exec grep -i 'hledaný textXY' {} \; -print0

    Děkuji za napovězení

    Jura

    Odpovědi

    2.4.2013 14:15 Kit
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Používám odlehčenější verzi, která však funguje mírně odlišně:
    grep -i 'hledaný textXY' *.php
    případně
    grep -i 'hledaný textXY' */*.php
    apod. Neprohledává sice adresářový strom do hloubky, ale pro mé účely vyhovuje.
    2.4.2013 14:34 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    A když místo grep dáš rgrep, bude prohledávat i v podadresářích.
    2.4.2013 15:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    U GNU grepu, který je v linuxu obvyklý, stačí použít přepínač -r
    2.4.2013 15:04 Kit
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    To není tak jednoznačné. grep -r sice běžně používám, ale
    rgrep -i 'hledany string' *.php
    v podadresářích hledat nebude. Nemá jejich názvy.
    2.4.2013 15:12 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    grep(1):
           --include=GLOB
                  Search  only  files whose base name matches GLOB (using wildcard
                  matching as described under --exclude).
    
    2.4.2013 16:13 Kit
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Než bych hledal všechny atributy grepu, asi bych v takových případech raději použil find z původního dotazu.

    Jinak ale dobré, jen bych uvítal kratší zápis parametru.
    grep -ri 'hledaný textXY' --include="*.php" /
    bude zřejmě odpovědí na původní dotaz.
    2.4.2013 15:13 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Jasně, obvykle hledám v celém podstromu, koncovka mě nepálí. Takže typicky

    rgrep něco /etc
    2.4.2013 16:02 Kit
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Takže ve stromu prolezeš i všechny multimediální soubory. Poněkud nepraktické a mimo /etc (ve kterém toho z PHP asi moc nebude) zřejmě i lenošné.
    2.4.2013 17:53 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    A ty máš multimediální soubory namíchané mezi php skripty?

    Když hledám, tak vím, kde co přibližně mám. Budu-li hledat text mezi velkými binárkami, nepoužiji rgrep. To dá rozum.
    Tarmaq avatar 2.4.2013 19:09 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    z tazatelova dotazu je zrejme, ze hleda PHP soubory od rootu, takze je opravdu zbytecne prochazet vsechny soubory nezavisle na tom zda obsahuji binarni data..
    Don't panic!
    2.4.2013 19:20 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Tak to jo, toho jsem si nevšiml. Hledat od rootu mě nějak nenapadlo :)
    3.4.2013 09:15 Kit
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Samozřejmě. A mám tam i databáze a šablony, které grepem prolézat nechci.
    3.4.2013 11:38 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Pokud není dat mnoho (gigabajty), používám rgrep napřímo i za cenu pár false positives. Než odladím filtr přes koncovky, mám to dávno nalezené. Nebo výstup rgrepu přefiltruji grepem na php (v názvu souboru na začátku řádku lezoucího z rgrepu) a dále tím zredukuji false positives.

    Nikomu tenhle postup nenutím, jen se mi osvědčil a používám několikrát denně, protože to mám hotové nejrychleji a vím, že to dělá, přesně co chci. Když jde o větší strom s daty, pustím si to třeba v mc, snadno se pak skáče rovnou do nalezených souborů na místo s výskytem hledaného textu. Zápis execu ve findu mi nevyhovuje, příliš dlouho jej musím testovat. Ale jak říkám, každému sedí něco jiného. A tak to má být :)
    3.4.2013 15:17 potato
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Přesně naopak: nehledám-li v něčem, co může být čerstvé a ještě nezacachované locate, neprocházím strom vůbec, o grepu v celém stromu ani nemluvě:
    locate -0 '*.php' | xargs -0 grep foobar
    3.4.2013 19:05 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Hezká vychytávka. Vyžaduje to však zapnutou indexaci locate, což např. na našich debianích serverech není.
    6.2.2015 04:53 ďobo
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    find . | xargs grep 'neco' -l
    2.4.2013 19:53 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    Místo \; bych dal + a grepu bych přihodil parametr -q, ať se nemíchá s výstupem findu.
    3.4.2013 23:30 dik
    Rozbalit Rozbalit vše Re: Hledání řetězce v souborech
    grep -irl 'hledany text' /muj/dir

    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.