Aqui estão algumas outras ideias, que embora não sejam tão simples, podem oferecer alguma flexibilidade adicional interessante:
Primeiro, você pode filtrar com awk em vez de grep:
tail -f /var/log/messages | awk '/myfilterword/'
que funciona exatamente da mesma forma que o exemplo usando grep
. Você pode expandir isso usando o poder do awk, por exemplo:
tail -f /var/log/messages | \
awk '/myfilterword/ { for (i=6; i<=NF; i++) printf("%s ", $i); printf("\n")}'
que imprimirá o 6º até o último campo da saída (os campos são separados por espaços em branco)
Outra ideia semelhante é usar um perl one-liner:
tail -f /var/log/messages | perl -ne "/myfilterword/ and print"
que funciona exatamente como grep
. Talvez você queira um contador de números de linha e apenas o sexto campo? Que tal isso:
tail -f /var/log/messages | \
perl -lane "/myfilterword/ and printf \"%6d %s\n\",++\$a,\$F[6]"
Obviamente, todos esses tipos de coisas podem ser feitos com outras ferramentas também, mas eu queria ilustrar que há algumas maneiras divertidas de usar linguagens de propósito geral como awk ou perl aqui.