Se eu tivesse um arquivo no seguinte formato:
line1 column1
line2 columnA
line3 column1A
exclude this
line5 column2
line6 columnB
line7 column2B
Eu quero trocar as colunas, então column*
é impresso antes line*
. awk
Eu uso um comando simples como este: awk '{print $2 " " $1}'
e recebo uma saída como esta:
column1 line1
columnA line2
column1A line3
this exclude
column2 line1
columnB line2
column2B line3
agora eu quero que a linha com exclude
seja impressa, mas não recorrida (não é necessariamente a linha 3). Eu poderia usar este comando para ignorar as linhas: awk '/exclude/{next}{print $2 " " $1}'
e recebo uma saída sem a linha excluída:
column1 line1
columnA line2
column1A line3
column2 line1
columnB line2
column2B line3
Como posso dizer awk
para imprimir essas linhas que contêm, exclude
mas não recorrer às colunas? Então eu teria uma saída assim:
column1 line1
columnA line2
column1A line3
exclude this
column2 line1
columnB line2
column2B line3
Algo como
Ou, mesmo resultado, mas um pouco mais curto.