1
2

grep -RF 'error' celery-default.log* | cut -d ':' -f1 | uniq -c
  • grep -RF celery-default.log* ‘rror’

    搜索多个文件包含 ‘error’的行

1
celery-default.log:[2018-11-16 03:28:31,164: ERROR/MainProcess] Task handler raised error: <MaybeEncodingError: Error sending result: ''(1, <ExceptionInfo: TooManyRequestsError("<HTTPError 429: \'TOO MANY REQUESTS\'>",)>, None)''. Reason: ''PicklingError("Can\'t pickle <class \'python_http_client.exceptions.TooMa^C
  • grep -RF ‘error’ celery-default.log* | cut -d ‘:’ -f1

-d 指定分隔符
在 :处切割文件,并取出第一部分

1
2
3
4
5
6
7
8
9
10
y-default.log
celery-default.log.1
celery-default.log.1
celery-default.log.1
celery-default.log.2
celery-default.log
celery-default.log
celery-default.log
celery-default.log
celery-default.log
  • grep -RF ‘error’ celery-default.log* | cut -d ‘:’ -f1 | uniq -c

去重,显示出现的次数

那个文件的错误多

1
2
3
4
5
6
7

10266 celery-default.log
14484 celery-default.log.1
40888 celery-default.log.2
48230 celery-default.log.3
13203 celery-default.log.4
354 celery-default.log.5

  • grep ‘error’ celery-default.log* | cut -d ‘:’ -f1 | uniq -c | sort -nr

排序

n:依照数值的大小排序;

r:以相反的顺序来排序;

1
2
3
4
5
6
48230 celery-default.log.3
40888 celery-default.log.2
14484 celery-default.log.1
13203 celery-default.log.4
10266 celery-default.log
354 celery-default.log.5