### 总体命令

```bash
grep status=5 2023111317225316148_2023111317225316148 | grep -v "nd-membership-proxy.log.isis" | awk -F" " '{ print $17}' | sort| uniq -c | sort -k 1 -nr
```

#### 解读

- `uniq -c` : 表示合并相邻的重复记录，并统计重复数。因为uniq -c 只会合并相邻的记录，所以在使用该命令之前需要先排序
- sort -k 1 -nr : 经过uniq -c 处理之后的数据格式形如"2 data"，第一个字段是数字，表示重复的记录数；第二个字段为记录的内容。我们将对此内容进行排序。sort -k 1表示对于每行的第一个字段进行排序，这里即指代表重复记录数的那个字段。因为sort命令的默认排序是按照ASCII，这就会导致按从大到小进行排序时，数值2会排在数值11的前面，所以需要使用-n 参数指定sort命令按照数值大小进行排序。-r 表示逆序，即按照从大到小的顺序进行排序
- `head -20` : 排完序，取前20行