há um caminho zilhão para fazer isso, os dois primeiros que vieram com são awk e grep (nessa ordem)
awk
awk '/debug/ { print > "debug.txt" ; next ;} { print } ' logfile > info.txt
onde
-
/debug/ selecione linha com debug de palavras -
{ print > "debug.txt" ;print para debug.txt -
next ;}leu a próxima linha no logfile -
{ print }se não houver depuração, imprima para stdout -
> info.txtredirecionar stdout para info.txt
um comando mais formal
awk '/debug/ { print > "debug.txt" ; }
$0 !~ /debug/ { print > "info.txt " ; } ' logfile
onde
-
$0 !~ /debug/significa que, se a depuração não aparecer na linha.
grep
grep debug logfile > debug.txt
grep -v debug logfile > info.txt
onde
-
grep debugseleciona linha com depuração -
grep -v debugseleciona linha sem depuração - logfile é lido duas vezes
observe também que o conteúdo anterior de debug.txt e info.txt será excluído usando > para mantê-lo, use >> no shell ou no awk.