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

Linux – Finden einer Teilzeichenfolge in Dateien über Unterverzeichnisse hinweg mit einem einzigen integrierten Befehl?

Wenn ich unter Windows eine Zeichenfolge über alle Dateien in allen Unterverzeichnissen finden wollte, würde ich so etwas tun wie

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

In Linux (z. B. Ubuntu) habe ich jedoch keinen anderen Weg gefunden als einen geleiteten Befehl mit find , xargs , und grep (Ein Beispiel finden Sie auf dieser Seite:Wie kann ich rekursiv durch Unterverzeichnisse blättern?). Meine Frage ist jedoch anders:Gibt es einen einzelnen, eingebauten Befehl das durch diese Magie funktioniert, ohne mein Shell-Skript schreiben zu müssen?

Akzeptierte Antwort:

GNU grep ermöglicht das rekursive Durchsuchen von Unterverzeichnissen:

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

Linux
  1. Arbeiten mit Pipes auf der Linux-Befehlszeile

  2. 10 erstaunliche Tipps und Tricks für die Arbeit mit Linux

  3. So finden Sie Dateien mit dem fd-Befehl in Linux

  4. Linux-rsync-Befehl mit praktischen Beispielen

  5. Mit einem einzigen integrierten Befehl eine Teilzeichenfolge in Dateien über Unterverzeichnisse hinweg finden?

So laden Sie Dateien mit dem Curl-Befehl unter Linux herunter

So laden Sie Dateien mit dem Wget-Befehl unter Linux herunter

Tutorial für Linux-Suchbefehle (mit Beispielen)

Grep-Befehl in Linux (mit Beispielen)

lsof-Befehl unter Linux mit Beispielen

Linux-Comm-Befehl mit Beispielen