grep一个日志文件,显示今天发生的特定单词

时间:2015-10-31 13:26:38

标签: unix

我必须搜索我们在当前日期收到任何特定例外的次数。我正在使用以下命令,但它不起作用。

此命令显示到目前为止发生的ClassCastExceptionNumberFormatException

我只是想知道今天ClassCastExceptionNumberFormatException发生了多少次。

grep $(date +"%Y-%m-%d") /*.* |grep  -ioh "ClasscastException\|NumberFormatException" /logs/*.* | sort | uniq -c | sort -r

grep -ioh "ClasscastException\|NumberFormatException" /logs/*.* | sort | uniq -c | sort -r

上面的命令没有计算所有日期的日志文件中的ClassCastException和NumberFormatException。我只想要今天的日期计数。

1 个答案:

答案 0 :(得分:0)

删除/logs/*.*部分

后,第一个命令应该有效

grep $(date +"%Y-%m-%d") /∗.∗ |grep -ioh "ClasscastException\|NumberFormatException" /logs/∗.∗ | sort | uniq -c | sort -r

grep适用于作为参数提供的文件,否则默认为stdin

由于文件作为参数提供给此管道中的第二个grep,它将丢弃第一个grep的输出并再次在log目录下的所有文件中查找该模式。