GNU/Linux >> Znalost Linux >  >> Linux

Jak grepovat řetězec v adresáři a všech jeho podadresářích?

grep -r -e string directory

-r je pro rekurzivní; -e je volitelný, ale jeho argument určuje regulární výraz, který se má hledat. Zajímavé je, že POSIX grep není vyžadováno pro podporu -r (nebo -R ), ale Jsem si prakticky jistý, že System V grep ano, tak v praxi to dělají (téměř) všichni. Některé verze grep podpora -R stejně jako (nebo možná místo toho) -r; AFAICT, to znamená totéž.


Pokud váš grep podporuje -R , udělejte:

grep -R 'string' dir/

Pokud ne, použijte find :

find dir/ -type f -exec grep -H 'string' {} +

Linux
  1. Jak spočítat počet souborů a podadresářů v daném adresáři

  2. Jak přesunout (a přepsat) všechny soubory z jednoho adresáře do druhého?

  3. Jak stáhnout celý adresář a podadresáře pomocí wget?

  1. Jak vytvořit sdílený adresář pro všechny uživatele v Linuxu

  2. Jak zjistit počet souborů v adresáři a podadresářích

  3. Jak mohu rekurzivně zkopírovat všechny soubory pdf v adresáři (a jeho podadresářích) do jednoho výstupního adresáře?

  1. Jak odstranit adresář a složku v Linuxu?

  2. Jak najít všechny soubory, které neobsahují textový řetězec?

  3. Jak mohu použít grep k vyhledání všech souborů s řetězcem hello v aktuálním adresáři, ale zobrazit pouze soubory .ha .cc?