2015-12-04 3 views
0

Удалить исключения из файла журналаУдалить исключения из файла журнала

cat ignore_err.txt|grep -v "^#"| while read line; 
    do 
    cp atln_output_err.txt atln_output_err.txt.bak4 ; 
    echo "start ....... $line "; 
    sed '/$file/d' atln_output_err.txt >out.txt 
    mv out.txt atln_output_err.txt 
    echo "end ....... $line "; 
    done 
start ....... \} INFO aop\: 
end ....... \} INFO aop\: 
start ....... Not able to find an user based on email address 
end ....... Not able to find an user based on email address 

Мне нужно удалить эти строки из входного файла в каждой итерации цикла

Выше сценарий не фильтровать записи из входного файла в каждой итерации цикла.

Есть ли другой эффективный способ сделать это

Благодаря


У меня есть этот список исключений кот ignore_err.txt

#aop:83 - Entering AccessController.msb3IeError 
#aop:83 - Leaving AccessController.msb3IeError 
#\\} DEBUG aop\\: 
\\} INFO aop\\: 
Not able to find an user based on email address 

Я хочу, чтобы отфильтровать журнал файл (atln_output_err.txt), содержащий эти ключевые слова:

Я хочу, чтобы достичь этого

cat atln_output_err.txt | grep -v "\} INFO aop\:" | grep -v "Not able to find an user based on email address" >a.txt 

+0

Вам нужно будет уточнить свой вопрос, поскольку это беспорядок. Что именно вам нужно удалить? Отделите код от ожидаемого вывода. Также у вас есть бесполезный 'cat', вы должны grep сам файл' grep -v "^ #" ignore_err.txt' –

ответ

0
grep -v "^#" ignore_err.txt| while read i; 
do 
grep -v "$i" log_err.txt >out.txt 
mv out.txt log_err.txt 
done 
2

Если поместить все ключевые слова об ошибках в файле error_keyword.txt (Linefeed запятой)

_ Чтобы получить все записи без этих соответствующих ключевых слов об ошибке:

grep -v -F -f error_keyword.txt log.txt 

_ Для того чтобы увидеть все записи в журнале, соответствующие ключевым словам:

grep -i -F -f error_keyword.txt log.txt 

  • -v даст вам записи, которые соответствуют DonT входного файла (-f)
  • -i даст вам записи, которые соответствуют входной файл (-f)
  • -F будет истолковывать входной шаблон в виде простого текста (чтобы избежать интерпретации специальных символов)

Затем вы можете перенаправить в файл:

grep -v -F -f error_keyword.txt log.txt > log_without_errors.txt 
Смежные вопросы