Substituir valores negativos em um arquivo com zeros

0

Eu quero substituir todos os valores negativos em um arquivo com zeros. Como posso fazer isso no awk?

Eu tentei com gsub , mas gsub(-*, 0) não funciona ... Alguma idéia?

Meu "código" é

awk '{gsub($(!/-/),"0",$2); print $1 "\t" $2} file.dat >file.dat
    
por Thanos 24.07.2014 / 11:05

1 resposta

3

Parece que você está tentando atualizar apenas a segunda coluna. Se for esse o caso, isso deve fazer:

awk '$2<0 {$2=0} 1' file > tmp_file && mv tmp_file file

Teste

$ cat a
hello 2
hello 3
hello -1
hello -4
hello 0
$ awk '$2<0 {$2=0} 1' a
hello 2
hello 3
hello 0
hello 0
hello 0
    
por 24.07.2014 / 16:09

Tags