![파일의 음수 값을 0으로 바꾸기](https://rvso.com/image/1416699/%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%9D%8C%EC%88%98%20%EA%B0%92%EC%9D%84%200%EC%9C%BC%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EA%B8%B0.png)
파일의 모든 음수 값을 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