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 13:11 | Nová verze

    Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.

    Ladislav Hagara | Komentářů: 0
    dnes 05:44 | Nová verze Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.

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

    AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.

    Max | Komentářů: 1
    včera 22:33 | IT novinky

    Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.

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

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 2
    včera 13:55 | IT novinky

    Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.

    Ladislav Hagara | Komentářů: 6
    včera 13:33 | IT novinky

    Na Humble Bundle běží akce Humble Tech Book Bundle: All Things Raspberry Pi by Raspberry Pi Press. Se slevou lze koupit elektronické knihy od nakladatelství Raspberry Pi Press a podpořit Raspberry Pi Press, Raspberry Pi Foundation North America nebo Humble.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Humor

    Přidaný režim autonomního řízení vozidel Tesla Mad Max je dostupný pro vybrané zákazníky v programu EAP (Early Access Program). Nový režim je na silnici agresivnější, častěji mění pruhy a ne vždy dodržuje rychlostní limity. Agentura JPP spekuluje, že v Česku by se mohl nový režim namísto Mad Max jmenovat Mad Turek...

    karkar | Komentářů: 24
    včera 04:00 | Nová verze

    Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (37%)
     (48%)
     (20%)
     (20%)
     (22%)
     (18%)
     (20%)
     (18%)
     (18%)
    Celkem 254 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

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

    2.4.2013 14:08 Jura
    Hledání řetězce v souborech
    Přečteno: 8468×
    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: 71 | 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: 71 | 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.