find . -name '*.java' | xargs grep 'string' find . -name '*.java' | xargs grep -H 'string' # if you want filenames too
Drucken von übereinstimmenden Zeilen beim Greping aller Dateien in einem Verzeichnis
596
John Kube
Ich suche in Java-Dateien nach Vorkommen eines Ausdrucks:
finden . -name '* .java' | xargs grep -l 'string'
Wie ändere ich diesen Befehl, um alle Zeilen, die eine Übereinstimmung enthalten, in die Shell zu drucken?
Erwägen Sie die Verwendung von `ack`: http://betterthangrep.com/
Dennis Williamson vor 14 Jahren
0
4 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
2
Steve McKay
Oder um Leerzeichen in Dateinamen zu behandeln: find. -name '* .java' -print0 | xargs -0 grep 'string'
CoverosGene vor 13 Jahren
0
0
user31894
grep -HR "string" *.java
0
Andy Lester
Versuchen Sie es mit ack, erhältlich bei betterthangrep.com
ack string --java
0
Ole Tange
Wenn Ihre Dateinamen Leerzeichen enthalten, sollten Sie sich GNU Parallel unter www.gnu.org/software/parallel/ ansehen.
find . -name '*.java' | parallel grep 'string'
Abhängig von Ihrem System kann dies schneller als der sequenzielle Betrieb erfolgen, da mehrere CPUs verwendet werden können. Oft ist die Geschwindigkeit der Platte jedoch der limitierende Faktor.
Sehen Sie sich das Einführungsvideo zu GNU Parallel an: http://www.youtube.com/watch?v=OpaiGYxkSuQ
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4