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 19:44 | Nová verze

    Byla vydána beta verze Linux Mintu 21.3 s kódovým jménem Virginia. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze Cinnamon 6.0 s experimentální podporu Waylandu. Linux Mint 21.3 bude podporován až do roku 2027.

    Ladislav Hagara | Komentářů: 1
    dnes 18:11 | Zajímavý článek

    Pavel Bašta se v příspěvku Internetové kšefty podíval na podvody při nákupech a prodejích zboží přes různé bazarové služby. Podělil se o rozhovor, který vedl s jedním podvodníkem. V závěru upozorňuje na databází podvodníků Podvod na bazaru.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Zajímavý článek

    Michal Strehovský na svých stránkách píše jak v C# vytvořit "bootovací hru" pro Raspberry Pi, tj. hru, která nepotřebuje operační systém (bare-metal). Zdrojové kódy jsou na GitHubu.

    Ladislav Hagara | Komentářů: 1
    dnes 14:11 | Humor

    Greg Kroah-Hartman vydal Linux 6.6.6 (LKML) aneb Linux s číslem šelmy. Řeší regresi ve Wi-Fi.

    Ladislav Hagara | Komentářů: 4
    dnes 13:11 | Nová verze

    Debian 12.3 byl kvůli chybě v jádře 6.1.64-1 nakonec přeskočen. Vydán byl rovnou Debian 12.4.

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

    Počítačové hře Doom je dnes 30 let. Vydána byla 10. prosince 1993. Zahrát si ji lze také na Internet Archive.

    Ladislav Hagara | Komentářů: 14
    včera 02:11 | Komunita

    V srpnu společnost HashiCorp přelicencovala "své produkty" Terraform, Packer, Vault, Boundary, Consul, Nomad a Waypoint z MPL a Vagrant z MIT na BSL (Business Source License). V září byl představen svobodný a otevřený fork Terraformu s názvem OpenTofu. Na konferenci Open Source Summit Japan 2023 byl představen (YouTube) svobodný a otevřený fork Vaultu s názvem OpenBao (GitHub).

    Ladislav Hagara | Komentářů: 7
    9.12. 21:44 | Komunita

    Na dnes plánované vydání Debianu 12.3 bylo posunuto. V jádře 6.1.64-1 v souborovém systému ext4 je chyba #1057843 vedoucí k možnému poškození dat.

    Ladislav Hagara | Komentářů: 20
    9.12. 14:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    9.12. 03:11 | Humor

    Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.

    Ladislav Hagara | Komentářů: 19
     (40%)
     (9%)
     (50%)
    Celkem 119 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    Rozcestník

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

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