hcitool dev | awk '$0=$2'
Com awk
e muitas outras linguagens, uma atribuição pode ser usada como condicional. O valor atribuído é então interpretado como um valor booleano (o inteiro zero, ou uma string vazia, é "false").
Nesse caso, a expressão $0 = $2
será "true" se houver alguma coisa na segunda coluna. Independentemente de haver ou não, o conteúdo da linha, $0
, será substituído por este valor.
Em awk
, quando uma condição ou padrão não tiver um bloco de ação correspondente ( { ... }
), a ação padrão será a saída da linha atual, como se a ação tivesse sido { print $0 }
ou apenas { print }
.
Isso tem o efeito de imprimir a segunda coluna delimitada por espaços em branco nos dados de entrada, mas apenas para as linhas em que há realmente algo na segunda coluna.