Vyhledání souboru s hledaným řetězcem

webhope

Vyhledání souboru s hledaným řetězcem
« kdy: 03. 06. 2010, 20:11:59 »
Pokouším se najít slovo "avatar" v souborech .php , respektive potřebuji získat název souboru, který slovo avatar obsahuje. Mám jen tento příkaz a nevím jaký parametr použít když chci tam mít podmínku že soubor musí obsahovat dané slovo. Dík za radu
Kód: [Vybrat]
find . -name "*.php" -exec cat '{}' \; -printf %f\\n
« Poslední změna: 03. 06. 2010, 20:13:40 od webhope webhope »


branchman

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #1 kdy: 03. 06. 2010, 20:43:15 »
Pokouším se najít slovo "avatar" v souborech .php , respektive potřebuji získat název souboru, který slovo avatar obsahuje. Mám jen tento příkaz a nevím jaký parametr použít když chci tam mít podmínku že soubor musí obsahovat dané slovo. Dík za radu
Kód: [Vybrat]
find . -name "*.php" -exec cat '{}' \; -printf %f\\n
Kód: [Vybrat]
find . -name "*.php" -exec grep -l "avatar" '{}' \;

webhope

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #2 kdy: 03. 06. 2010, 20:51:29 »
Skvělé, díky moc

webhope

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #3 kdy: 03. 06. 2010, 21:00:10 »
JO, a kdybych to chtěl otevřít v kate (všechny nalezené soubory)?

Edit:
Jé, povedlo se mi to:
Kód: [Vybrat]
$ find . -name "*.php" -exec grep -l "avatar" '{}' \; -exec kate '{}' \;
« Poslední změna: 03. 06. 2010, 21:19:49 od webhope webhope »

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #4 kdy: 03. 06. 2010, 22:35:58 »
A co tak jednodušeji?

$ grep avatar *php


Jakub L.

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #5 kdy: 03. 06. 2010, 23:57:16 »
A co tak jednodušeji?

$ grep avatar *php

grep -l avatar *

PCnity

  • *****
  • 692
    • Zobrazit profil
    • E-mail
Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #6 kdy: 04. 06. 2010, 18:22:02 »
grep neukaze nazov/cestu k suboru...

x

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #7 kdy: 04. 06. 2010, 19:10:45 »
taky se ma spravne pouzit totiz egrep


cd adresar_kde_chci_hledat ; egrep -r -i avatar * | more

branchman

Re: Vyhledání souboru s hledaným řetězcem
« Odpověď #8 kdy: 05. 06. 2010, 18:23:34 »
A co tak jednodušeji?

$ grep avatar *php

grep -l avatar *
Tak sa to robi obycajne (mna to tiez napadlo ako prve), ale pri porovnani s riesenim skor to ma nevyhody:
  • neprehladavaju sa podzlozky (grep -l avatar *php), pomocou prepinacu -R sa da donutit hladat v podzlozkach, ale zase hlada len v podzlozkach, ktorych nazov konci na php
  • grep -lR avatar * - pri prechadzani adresarovej struktury sa prechadza aj napr. 700MB .iso, ktore urcite nebudeme chciet (da sa grepom odstranit, ale pri viacerych velkych suboroch je to zbytocne trapenie a mrhanie vykonom)