열 1이 열 3과 동일한 경우 열 4의 값을 X로 바꾸고, 그렇지 않으면 awk를 사용하여 열 4의 모든 항목을 열 2로 바꾸려면 어떻게 해야 합니까?

열 1이 열 3과 동일한 경우 열 4의 값을 X로 바꾸고, 그렇지 않으면 awk를 사용하여 열 4의 모든 항목을 열 2로 바꾸려면 어떻게 해야 합니까?
A01 106403746   A01 0
A01 106720129   A01 690201.72
A01 106420797   A01 1345008.48
A01 106021633   A01 1345008.48
A01 106021630   A01 1345008.48
A01 106369397   A01 1345008.48
A01 77894226    A01 3291731.28
A01 106625479   A01 3291731.28
B01 112178282   A01 3291731.28
A01 77599901    A01 3291731.28
A01 106805991   A01 3291731.28
A01 106885583   A01 3291731.28
A01 106642966   A01 3291731.28
A01 106545175   A01 3291731.28
A05 44887670    A01 3291731.28

시험을 마친:

awk '{if ($1 == $3) print $1"\t"$2"\t"$3"\t"$4==x}' input_file|less -S

답변1

이것은 매우 기본적입니다:

awk '$1==$3{$4="X";print;next}{$4=$2}1' file

수식이 필요 하지 않습니다 if. 중괄호 앞에 조건을 입력하면 됩니다.

관련 정보