grep nach Strings in allen Dateien in den Verzeichnissen mit bestimmten Namen
Habe ich csv-Dateien in den Verzeichnissen mit der folgenden Struktur:
20090120/
20090121/
20090122/
etc...
Möchte ich grep für eine bestimmte Zeichenfolge in alle csv-Dateien in diesen Verzeichnissen, aber nur für Januar 2009, z.B. 200901*/*.csv -
Gibt es einen bash Befehl Linie argument, die dies tun können?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja.
grep "a certain string" 200901*/*.csv
.Müssen Sie etwas wie:
(vorausgesetzt, Ihr Suchbegriff ist
NEEDLE
natürlich nur ändern, um was auch immer Sie eigentlich suchen).Den
bash
shell ist durchaus in der Lage expanding multi-level-Pfade und Datei-Namen.Dass ist natürlich nur beschränkt auf die CSV-Dateien in einem Verzeichnis nach unten. Wenn Sie wollen, suchen ganze Teilbäume, müssen Sie den leicht-Modus kompliziert (und anpassbaren)
find
Befehl.Aber, vorausgesetzt, Sie können eine Beschränkung auf die Tiefe, die Sie bekommen konnte, Weg mit so etwas wie (drei Ebenen):
Versuchen Sie dies :
Versuchen, eine Kombination von finden die Suche nach bestimmten Dateinamen-Muster und grep für die Suche nach dem Muster: