GNU/Linux >> Znalost Linux >  >> Linux

Linux – nalezení podřetězce v souborech napříč podadresáři pomocí jediného vestavěného příkazu?

Pokud bych ve Windows chtěl najít řetězec ve všech souborech ve všech podadresářích, udělal bych něco jako

findstr /C:"the string" /S *.h

V Linuxu (řekněme Ubuntu) jsem však nenašel jiný způsob než nějaký zřetězený příkaz zahrnující find , xargs a grep (Příklad je na této stránce:Jak mohu rekurzivně procházet podadresáři?). Moje otázka je však jiná:existuje nějaký jediný vestavěný příkaz který funguje prostřednictvím tohoto kouzla, aniž bych musel psát můj shell skript?

Přijatá odpověď:

GNU grep umožňuje rekurzivní vyhledávání v podadresářích:

grep -r --include='*.h' 'the string' .

Linux
  1. Práce s rourami na příkazovém řádku Linuxu

  2. Jak najít soubory pomocí příkazu fd v Linuxu

  3. Nalezení podřetězce v souborech napříč podadresáři pomocí jediného vestavěného příkazu?

  1. Jak najít soubory v Linuxu pomocí příkazu Najít

  2. 10 úžasných tipů a triků pro práci s Linuxem

  3. Linuxový příkaz rsync s praktickými příklady

  1. Příkaz Grep v Linuxu (Najít text v souborech)

  2. Příkaz Rm v Linuxu

  3. Výukový program příkazu Linux zforce s příklady