imprimindo no awk

1

Eu tenho um arquivo numero.txt com o seguinte registro.

Number.txt:

123456,2711448,1,14-Feb-15 09:24:25,14-Jul-15 09:24:25,120,20150814163821,13-Aug-15 09:24:25,,,12-Sep-15 09:24:25,,,12-Oct-15 09:24:25,,,11-Nov-15 09:24:25,,,11-Dec-15 09:24:25,,,10-Jan-16 09:24:25,,,,,,,,,,,,12-Sep-15 09:24:25,Y

Agora, quero usar a condição abaixo no comando awk e, se a condição corresponder, quero imprimir toda a coluna.

awk -F"," '{ if($6 == 120) print }' number.txt

aqui eu quero imprimir N na última coluna se a condição corresponder.

a saída desejada está seguindo.

Saída:

123456,2711448,1,14-Feb-15 09:24:25,14-Jul-15 09:24:25,120,20150814163821,13-Aug-15 09:24:25,,,12-Sep-15 09:24:25,,,12-Oct-15 09:24:25,,,11-Nov-15 09:24:25,,,11-Dec-15 09:24:25,,,10-Jan-16 09:24:25,,,,,,,,,,,,12-Sep-15 09:24:25,N
    
por user3548033 18.08.2015 / 13:38

1 resposta

2

Você pode fazer isso adicionando a string que deseja à ação de impressão, no seu código será como abaixo:

awk -F"," '{OFS=FS}{ if($6 == 120){$NF="N"; print $0}}' number.txt

Here, the {OFS=FS} to arrange the output file, the awk code will check if the condition is true, if yes it will perform the action, first will change the last field $NF to "N" then print $0 that print the whole record.

    
por 18.08.2015 / 13:53