
파일의 모든 음수 값을 0으로 바꾸고 싶습니다. awk에서는 어떻게 할 수 있나요?
시도해 보았지만 작동하지 않습니다. 어떤 아이디어가 있습니까 gsub
?gsub(-*, 0)
내 "코드"는
awk '{gsub($(!/-/),"0",$2); print $1 "\t" $2} file.dat >file.dat
답변1
두 번째 열만 업데이트하려는 것 같습니다. 그렇다면 다음과 같이 되어야 합니다.
awk '$2<0 {$2=0} 1' file > tmp_file && mv tmp_file file
시험
$ 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