Я хочу искать происшествие "ошибки" в использовании файла журнала, если условие и печатает ту ошибку, присутствует в файле журнала. и если не существующий затем не должен печатать найденную ошибку. Проблема здесь находится в моем файле журнала, у меня есть некоторое слово, которое имеет ошибку как подстроку, и я хочу проигнорировать эти слова, поскольку они не считаются как ошибка, которую рассмотрят..
Words are :
"LocalErrorPagePolicy"
"ErrorMapping"
"CustomErrorPagePolicy"
"error=ForceYes"
And also i want to avoid one line where error occurs:
Error details may be seen in the file:
И происшествия отдыха ошибки нужно рассмотреть.
Любая справка, высоко ценившая!
Я попробовал grep -v "string"
имя файла, не работает.
Один (очень грубый) подход является к grep всеми "ошибочными" случаями: grep -i "error" FILENAME
Объяснение:
-i
: Отфильтруйте Нечувствительный к регистру (эквивалентный RegEx /i
флаг)"error"
: Фильтр для термина "ошибка"FILENAME
: Файл для поиска вЗатем отфильтруйте тех, которых Вы не хотите:
grep -Eiv "(LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)" FILENAME
Объяснение:
-Eiv
: Конкатенация нескольких параметров, эквивалентных из grep -E -i -v
-E
: Интерпретируйте шаблон как расширенное регулярное выражение (ПРЕЖДЕ ЧЕМ, посмотрите man grep
для получения дополнительной информации)-i
: Нечувствительный к регистру фильтр-v
: Инвертируйте смысл соответствия, для выбора несогласующих отрезков длинной линии.Для шаблона:
()
: Круглые скобки создают группу соответствия|
: Символ вертикальной черты служит логическим or
Это ломается для "нахождения TERM1 ИЛИ TERM2 ИЛИ... ИЛИ TERMX" и затем отбрасывают строки, где те условия найдены.
Если мы добавляем их вместе, мы добираемся:
grep -i "error" FILENAME | grep -Eiv (LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)"
Для тестирования этого, я создал очень маленький фиктивный файл:
LocalErrorPagePolicy
ErrorMapping
CustomErrorPagePolicy
error=ForceYes
Error details may be seen in the file:
Stackoverflowerror
I like errors
error error
LocalErrorErrorError
CustomErrorErrorPolicy
error=errorYes
I am a successfully output!
Результат после применения grep
- команда:
Stackoverflowerror
I like errors
error error
LocalErrorErrorError
CustomErrorErrorPolicy
error=errorYes
Как Вы видите, нежелательные условия были фильтрованы успешно.