GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwende ich grep, um das aktuelle Verzeichnis nach allen Dateien mit der Zeichenfolge hello zu durchsuchen, aber nur .h- und .cc-Dateien anzuzeigen?

grep -r --include=*.{cc,h} "hello" .

Diese lautet:Suche rekursiv (auch in allen Unterverzeichnissen) nach allen .cc ODER .h Dateien, die "hello" an diesem . enthalten (aktuelles) Verzeichnis

Aus einer anderen Stackoverflow-Frage


Sie können Wildcards übergeben, anstatt Dateinamen anzugeben oder stdin.

zu verwenden
grep hello *.h *.cc

find . -name \*.cc -print0 -or -name \*.h -print0 | xargs -0 grep "hello" .

Überprüfen Sie die Manpages für find und xargs für Details.


Linux
  1. Wie suche ich nach Dateien nach Größe und Erweiterung?

  2. Wie finde ich alle Dateien, die keine Textzeichenfolge enthalten?

  3. So führen Sie den Befehl „find“ nur im aktuellen Verzeichnis und nicht in Unterverzeichnissen aus

  4. Wie chown/chmod alle Dateien im aktuellen Verzeichnis?

  5. So durchsuchen Sie nur das aktuelle Verzeichnis in Nautilus (altes Verhalten wiederherstellen)

So verwenden Sie sed zum Suchen und Ersetzen von Zeichenfolgen in Dateien

So verwenden Sie bash if -z und if -n zum Testen von Zeichenfolgen in Linux

So suchen Sie nach Dateien über die Linux-Befehlszeile

So installieren und verwenden Sie Okteta für RAW-Datendateien unter Linux

Linux-Suche nach Zeichenfolgen in Ordnern und Dateien mit ack

So führen Sie eine Grep-Suche für alle Dateien und in allen Verzeichnissen durch