Как к grep журналы для списка шаблонов и делают отчет из него?

Используйте параметры nmcli:

nmcli -t -f uuid c
1
28.10.2014, 02:02
1 ответ

Чтобы добавить свой акцент, для петли итерации по поводу слов слова . Если ваш файл:

one two
three four

, то это будет выпустить четыре строк:

for word in $(cat file); do echo "$word"; done

, чтобы повторить в строках файла, сделайте это:

while IFS= read -r line; do
    # do something with "$line" <-- quoted almost always
done < file
-121--13946-

Попробуйте следующий скрипт:

#!/bin/bash

logfile="$1"

nfiles=$(grep -c 'checking file' "$logfile")
failed_userid=($(grep -oP 'failed reading user id: \K[^ ]*' "$logfile"))
corrupted_files=($(grep -oP '[^ ]*(?= is corrupt)' "$logfile"))


echo "Total Number of Files Scanned - $nfiles"
echo "Total Number of Unique User ID failed - ${#failed_userid[@]}"
echo "Total Number of Files Corrupted - ${#corrupted_files[@]}"
echo

echo "List of Unique User Id's which are corrupt - "
for uid in "${failed_userid[@]}"; do
   echo "$uid"
done

echo

echo "Files which are corrupted - "
for corf in "${corrupted_files[@]}"; do
   echo "$corf"
done

Запустите его с

$ ./script file.log

Результат для входа с вашего вопроса выглядит как

Total Number of Files Scanned - 3
Total Number of Unique User ID failed - 3
Total Number of Files Corrupted - 1

List of Unique User Id's which are corrupt - 
18446744073135142816
18446744073698151136
18446744072929739296

Files which are corrupted - 
/database/batch/p1_snapshot//p1_weekly_1980_0_200003_5.data

Краткое объяснение:

  • -C Опция GREP подсчитывает соответствующие строки
  • -P Включает Perl Regular Expreesion Syntax
  • -O совпадает только часть строк
  • (? = Конструкция - это так называемый позитивный вид (возьмите его как шаблон, но Не включайте в выходные данные)
  • \ k - позади утверждения (забрать весь шаблон, но выбросить от результата все зависит от этой точки)

Остальное должно быть очевидно. Будьте в курсе, однако я Предполагалось, что нет пробелы в именах файлов!

2
27.01.2020, 23:37

Теги

Похожие вопросы