Jak hledat řetězec uvnitř mnoha souborů .gz v podsložce bucket Amazon S3? Zkoušel jsem to připojit přes s3fs a zgrep, ale je to strašně pomalé. Používáte nějaké jiné metody?
Možná existuje nějaká služba Amazonu, kterou bych mohl použít k rychlému zgrepování?
Přijatá odpověď:
Zjistil jsem, že nejrychlejší způsob je nejprve je zkopírovat lokálně a poté provést místní zgrep:
aws s3 cp s3://bucket/containing/the/logs . --recursive
Tím se zkopíruje (cp
) všechny protokoly do vašeho aktuálního adresáře (.
) a zahrnout také všechny podsložky (--recursive
).
Poté místní zgrep
:
zgrep "search words" *.gz
Nebo také rekurzivně prohledávat podadresáře:
find -name \*.gz -print0 | xargs -0 zgrep "STRING"
(Převzato z unix.stackexchange.com.)