Просто используйте blkid -o value -s TYPE "$DEV"
, это также работает на размонтированные устройства или даже файлы изображений.
cat /tmp/file
:
ERROR 1 1234
ERROR 2 1234
ERROR 3 1234
ERROR 4 1234
ERROR 4 1234
ERROR 3 1234
ERROR 2 1234
ERROR 5 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 1 1234
ERROR 1 1234
ERROR 3 1234
ERROR 2 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 2 1234
grep "ERROR" /tmp/file | sort | uniq -c | sort -r
:
8 ERROR 1 1234
5 ERROR 4 1234
4 ERROR 2 1234
3 ERROR 3 1234
1 ERROR 5 1234
первый столбец показывает, сколько случаев каждой строки было найдено Объяснение:
grep "ERROR" /tmp/file\ # select only ERROR string
| sort\ # order
| uniq -c\ # count duplicate items
| sort -rn # reverse order and use numeric sort
для лучших 5 ошибок можно добавить |head -n5
Думаю, вам нужно отрезать метку времени, чтобы получить уникальную ошибку
grep 'error message' / logfiles | вырезать -d '' -f6- | сортировать | uniq -c | sort -nr