awk '$2 == "INACTIVE"{print $1}' input.txt
[Time: 2017/04/03 07:27:30.048] [comp_ctrl]: Connecting to server......
[Time: 2017/04/03 07:27:30.739] [comp_ctrl]: Connected to server.
[Time: 2017/04/03 07:27:30.739] [comp_ctrl]: Execute list collabrations operation......
The collaboration name: The status:
BooleanExpression1234 ACTIVE
BooleanExpression1235' INACTIVE
There are total 2 collabrations listed.
Para a entrada acima, eu quero um programa shell para a saída como abaixo removendo todos os outros caracteres (finalmente a saída i requer é obter os valores da primeira coluna que estão apenas no status INACTIVE na segunda coluna) O arquivo usado para entrada terá vários registros.
BooleanExpression1234 ACTIVE
BooleanExpression1235 INACTIVE
Eu tentei remover o conteúdo indesejado pelo awk, mas não funciona de verdade.
awk '$2 == "INACTIVE"{print $1}' input.txt
Para obter as linhas ACTIVE e INACTIVE na saída:
grep ACTIVE sample.txt | awk -F "" '{print $ 1}'
Para obter apenas a linha INACTIVE na saída:
grep INATIVO sample.txt | awk -F "" '{print $ 1}'
Em que sample.txt é o arquivo que contém o texto de entrada.