Unter Linux/Unix gibt es ein Befehlszeilentool namens grep
Sie können es verwenden, um mehrere Dateien nach einer Zeichenfolge zu durchsuchen. Zum Beispiel, wenn ich nach strcpy
suchen wollte in allen Dateien:
~/sandbox$ grep -rs "strcpy"*
test.c: strcpy(OSDMenu.name,"OSD MENU");
-r
Sucht rekursiv, sodass alle Dateien in allen Verzeichnissen (ab dem aktuellen) durchsucht werden. -s
ignoriert Warnungen, falls Sie auf nicht lesbare Dateien stoßen.
Wenn Sie nun nach etwas Benutzerdefiniertem suchen möchten und sich nicht an die Groß-/Kleinschreibung erinnern können, gibt es Optionen wie -i
Groß- und Kleinschreibung zu ermöglichen.
~/sandbox$ grep -rsi "myint" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
Sie können auch reguläre Ausdrücke verwenden, falls Sie vergessen haben, was genau aufgerufen wurde (tatsächlich stammt der Name „grep“ vom sed-Befehl g/re/p – global/regular expression/print:
~/sandbox$ grep -rsi "my.*" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
test.c: float myfloat = 10.9;
Installieren Sie Cygwin, wenn Sie *nix nicht verwenden, und verwenden Sie find/grep, z.
find . -name '*\.[ch]' | xargs grep -n 'myfuncname'
Sie können grep verwenden, um die Dateien über das Terminal/die Befehlszeile zu durchsuchen.
grep -R "string_to_search" .
-R um rekursiv zu sein, suche auch in allen Unterverzeichnissen
Dann die gewünschte Zeichenfolge
Dann ist der Ort, . für das aktuelle Verzeichnis