2013-02-28 72 views
1

我有一個csv文件中的IP列表,我需要搜索一堆存檔日誌中的這些IP的任何遇到,但只在一月的文件。grep使用查找和xargs一些存檔日誌

我第一次嘗試這樣的:

for i in `cat /tmp/ips.csv`; do zgrep -rHc $i /webstats/2010/some_dir/*/*.2010-01*.access.gz ; done 

但是,這並不工作。我得到:

bash: /usr/bin/zgrep: Argument list too long 

但是我想用find + xargs的,但我不是,我應該如何建立自己的表情是肯定的。 我在想這個:

find /logs/2010/some_dir/ -name *.2010-01*.access.gz -type f -print0 | xargs zgrep -rHc `/tmp/ips.csv` {} 

但有些東西看起來不太好。

+0

貓文件| grep IP | grep DATE? – Babblo 2013-02-28 17:43:22

回答

2

試試這個:

find /logs/2010/some_dir -name '*.2010-01*.access.gz' -type f -print0 | xargs -0 zgrep -Hc -f /tmp/ips.csv