Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: webhope  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
 find . -name "*.php" -exec cat '{}' \; -printf %f\\n
 
- 
				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
 find . -name "*.php" -exec cat '{}' \; -printf %f\\n
 
 find . -name "*.php" -exec grep -l "avatar" '{}' \;
 
- 
				Skvělé, díky moc
			
- 
				JO, a kdybych to chtěl otevřít v kate (všechny nalezené soubory)?
 
 Edit:
 Jé, povedlo se mi to:
 $ find . -name "*.php" -exec grep -l "avatar" '{}' \; -exec kate '{}' \;
- 
				A co tak jednodušeji?
 
 $ grep avatar *php
- 
				A co tak jednodušeji?
 
 $ grep avatar *php
 
 
 grep -l avatar *
- 
				grep neukaze nazov/cestu k suboru...
			
- 
				taky se ma spravne pouzit totiz egrep
 
 
 cd adresar_kde_chci_hledat ; egrep -r -i avatar * | more
- 
				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)