我需要一个小脚本来搜索日志文件中的字符串并计算行数。因为这可能需要一段时间,我也想要输出" grep"显示在控制台中。我的想法是这样的:
grep -irl "System out of memory" | tee /tmp/checkoom.tmp
COUNT=(cat /tmp/checkoom.tmp |wc -l)
echo $COUNT logs found.
但它不起作用。我没有得到任何输出,tmp文件被创建但似乎是空的。
答案 0 :(得分:0)
您忘记提供搜索的起始目录:
grep -irl "System out of memory" <somewhere> | tee /tmp/checkoom.tmp
答案 1 :(得分:0)
以下是从/ var / log / messages获取usb记录的一条线路:
echo "$(grep -i '/lib/udev/usb' /var/log/messages > ~/yourFile ; cat ~/yourFile | wc -l ) logs found"
希望你发现它有用
答案 2 :(得分:0)
脚本中有两个错误:
更新了脚本:
#!/bin/bash
grep -irl "System out of memory" <path to search> | tee /tmp/checkoom.tmp
COUNT=$(cat /tmp/checkoom.tmp | wc -l)
echo "$COUNT" logs found.
你也可以在grep中使用-F选项。 -F代表Fixed Strings