XYZ 파일이 있는데 대부분의 Z 값은 양수이지만 실제로는 음수여야 합니다. 세 번째 열의 모든 양수 값을 음수 값으로 변환하고 싶습니다(이미 음수 값은 동일하게 유지).
저는 코딩을 처음 접했고 다음과 같은 몇 가지를 시도했습니다.
awk $3 > 0 ? -1 * $3 : $3 InputFileName.txt > OutputFileName.txt
어떤 도움이라도 대단히 감사하겠습니다! 감사해요!
답변1
awk '$3>0{$3 *= -1} 1' file
답변2
다음 명령을 사용하여 해결할 수 있습니다.
awk '{ if($3>0){ printf "%8s%8s",$1,$2 ; printf "%8s\n",$3*-1 } else printf "%8s%8s%8s\n",$1,$2,$3 }' InputFileName.txt > OutputFileName.txt
through 를 사용하면 지정된 필드 너비(이 경우 8)의 형식으로 printf
출력이 생성됩니다 . 따라서 다음과 같은 출력을 얻지 마십시오.awk
%8s
10 20 -40
34 -4 -4
1 1 -2
당신은 얻을 것이다:
10 20 -40
34 -4 -4
1 1 -2
형식을 제공하는 데 관심이 없으면 %8s
다음으로 변경할 수 있습니다.%s