【问题标题】:grep some archived logs using find and xargs使用 find 和 xargs grep 一些归档日志
【发布时间】:2013-03-01 02:20:56
【问题描述】:

我有一个 csv 文件中的 IP 列表,我需要在一大堆存档日志中搜索此 IP 的任何遭遇,但仅限于 1 月份的文件。

我第一次尝试这个:

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` {}

但有些东西看起来不太好。

【问题讨论】:

  • 猫文件 | grep IP | grep 日期?

标签: bash xargs


【解决方案1】:

试试这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-10
    • 2018-12-11
    • 2016-05-21
    • 1970-01-01
    • 2010-11-10
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多