Comment rechercher une chaîne dans un grand nombre de fichiers .gz dans le sous-dossier du compartiment Amazon S3 ? J'ai essayé de le monter via s3fs et zgrep mais c'est tellement lent. Utilisez-vous d'autres méthodes ?
Existe-t-il peut-être un service Amazon que je pourrais utiliser pour les zgreper rapidement ?
Réponse acceptée :
Je trouve que le moyen le plus rapide est de les copier d'abord localement, puis de faire un zgrep local :
aws s3 cp s3://bucket/containing/the/logs . --recursive
Cela copiera (cp
) tous les logs dans votre répertoire courant (.
) et inclure également tous les sous-dossiers (--recursive
).
Puis un zgrep
local :
zgrep "search words" *.gz
Ou pour rechercher récursivement des sous-répertoires :
find -name \*.gz -print0 | xargs -0 zgrep "STRING"
(Extrait de unix.stackexchange.com.)