Ich habe ein Verzeichnis, das Hunderte von Unterverzeichnissen enthält, deren Namen alle mit Datumsangaben versehen sind, und in jedem dieser Unterverzeichnisse gibt es eine Reihe von Dateien, die ich durchsuchen muss. Der grep-Befehl, den ich gerade verwende, ist folgender:
grep -ER --exclude-dir=2017060200_it2 "PATTERN" *_it2/file00*.pjson
und die Ordnerstruktur sieht so aus:
parcel/
|--- 2015010100_it2/
|--- file001.pjson
|--- file002.pjson
...
|--- file005.pjson
|--- 2015010200_it2/
|--- file001.pjson
...
...
|--- 2017060200_it2/
|--- file001.pjson
|--- file002.pjson
...
Ich möchte, dass mein grep-Befehl sucht file00*.pjson
für jedes einzelne Unterverzeichnis AUSSER für das neueste, in diesem Fall für 2017060200_it2
. Allerdings ist mein --exclude-dir=2017060200
scheint dies nicht zu erreichen.
Ich verwende grep V2.20 auf einem CentOS 6.7-System und wenn ich es verwende grep --help
Ich bekomme die Option für die Verwendung --exclude-dir
Daher halte ich diese Informationen nicht für relevant.
Bonus: Wenn Sie mir zeigen könnten, wie ich das aktuelle Datum erhalte und es als formatiere yyyyMMdd00_it2
damit ich das zu einem cron job machen kann, wäre das großartig, aber ich hatte vor herauszufinden, wie ich das separat machen soll, sobald ich das zum Laufen gebracht habe.
quelle
grep --exclude
anstattgrep --exlude-dir
Ich hatte gedacht--exclude
war für Dateien, aber ich denke, es geht nur um das rekursive Verhalten ...