Mein CodeDateinamen und Zeilennummern für die Spiele der Katze und grep
$ *.php | grep google
Wie kann ich die Dateinamen und Zeilennummern neben jedem Spiel drucken?
Mein CodeDateinamen und Zeilennummern für die Spiele der Katze und grep
$ *.php | grep google
Wie kann ich die Dateinamen und Zeilennummern neben jedem Spiel drucken?
grep google *.php
wenn Sie wollen viele Verzeichnisse zu überbrücken:
find . -name \*.php -print0 | xargs -0 grep -n -H google
(wie in den Kommentaren erklärt, -H ist nützlich, wenn xargs mit nur einem verbleibenden Datei kommt)
Use „man grep "um andere Funktionen zu sehen.
for i in $(ls *.php); do grep -n --with-filename "google" $i; done;
das wird nicht funktionieren - die Eingabedatei ist "stdin", wenn der Befehl auf diese Weise geschrieben wird – Alnitak
Sie haben Recht. Changed den Code zu arbeiten. –
Sie nicht tun
$ *.php | grep
sollten das bedeutet, „das erste PHP-Programm, mit dem Namen der übrigen Wildcards als Parameter ausführen, und dann grep läuft am Ausgang“.
Es sollte sein:
$ grep -n -H "google" *.php
Die -n
Flagge es Zeilennummern zu tun erzählt, und die -H
Flag teilt es den Dateinamen angezeigt werden, selbst wenn es nur Datei ist. Grep zeigt standardmäßig die Dateinamen an, wenn mehrere Dateien durchsucht werden, aber Sie möchten wahrscheinlich sicherstellen, dass die Ausgabe konsistent ist, unabhängig davon, wie viele übereinstimmende Dateien vorhanden sind.
find . -name "*.php" -print | xargs grep -n "searchstring"
find ./*.php -exec grep -l 'google' {} \;
Das bekommt die Dateinamen, aber nicht die Zeilennummern, oder? –
grep -RH "google" *.php
Bitte nehmen Sie sich einen Blick auf ack bei http://betterthangrep.com. Das Äquivalent in ack von dem, was Sie versuchen, ist:
ack google --php
Findet der letztere Code Unterverzeichnisse oder Master-Verzeichnisse? –
Sie brauchen den Namen, weil Sie vielleicht nicht wissen, welche Datei es war - besonders, wenn es ein böser Bruch ist, dass Xargs die Dinge zusammengelegt haben und eine einzige Datei übrig geblieben ist. –
Vergessen Sie nicht, dass Sie -print0 verwenden müssen, um -0 bis xargs zu finden, wenn Sie in einem Verzeichnisbaum arbeiten, der Namen mit eingebetteten Leerzeichen enthält. –