Wie suche ich nach einer Zeichenfolge in vielen .gz-Dateien im Amazon S3-Bucket-Unterordner? Ich habe versucht, es über s3fs und zgrep zu mounten, aber es ist sooooo langsam. Verwenden Sie andere Methoden?
Vielleicht gibt es einen Amazon-Service, den ich nutzen könnte, um sie schnell zu zgrepen?
Akzeptierte Antwort:
Ich finde, der schnellste Weg ist, sie zuerst lokal zu kopieren und dann ein lokales zgrep:
auszuführen
aws s3 cp s3://bucket/containing/the/logs . --recursive
Dies kopiert (cp
) alle Protokolle in Ihr aktuelles Verzeichnis (.
) und auch alle Unterordner einschließen (--recursive
).
Dann ein lokaler zgrep
:
zgrep "search words" *.gz
Oder um auch Unterverzeichnisse rekursiv zu durchsuchen:
find -name \*.gz -print0 | xargs -0 zgrep "STRING"
(Übernommen von unix.stackexchange.com.)