AWK: A mágica do operador ternário

O problema:
Inserir uma linha em branco a cada duas linhas

A Solução:
seq 10 | awk 'ORS=NR%2 ? RS:RS RS'

A Explicação:
ORS = Operador de registro de saída, determina qual será o separador de registros de saída

NR = número do registro por padrão "número da linha"

Na prática o que vai acontecer é o seguinte, ao testar o Módulo da divisão da linha 1 por 2 obtemos 1 e portanto o Awk definirá o operador de registro de saída como RS (separador de registros "quebra de linha por padrão")

quando o awk processar a linha 2 e obtiver o módulo da divisão  da mesma por 2 ele atribuirá uma dupla quebra de linha para o opeardor de registros de saída.

Aquele sinal de igual é uma atribuição que dependerá do valor do módulo obtido.


linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo