두 개의 파일이 있는데 하나는 열이 있습니다.
두 파일의 첫 번째 줄이 동일하면 1을 인쇄하고, 그렇지 않으면 0을 인쇄합니다.
file1
:
M
A
A
M
file2
:
M
M
A
A
output
:
1
0
1
0
누구든지 이 작업을 수행할 수 있는 awk 스크립트를 보여줄 수 있나요?
답변1
이 시도:
$ awk '!NF{next} FNR==NR{a[FNR]=$1;next};{print $1==a[FNR] ? 1 : 0}' file1 file2
1
0
1
0
설명하다
!NF{next}
: 빈 줄은 필요하지 않습니다. 건너뛰세요.FNR==NR{a[FNR]=$1;next}
: 처리하는 동안file1
첫 번째 필드를 연관 배열에 저장하고 인덱스는 행 번호입니다.{print $1==a[FNR] ? 1 : 0}
: 처리하는 동안 첫 번째 필드 값이 연관 배열에 저장된 해당 값file2
과 같은지 확인합니다 . 그렇다면 1을 인쇄하고, 그렇지 않으면 0을 인쇄합니다.file1
a
답변2
paste file1 file2 | while read a b; do [[ $a != "$b" ]]; echo $?; done
이 [[
명령은 성공 시 상태 0, 실패 시 1을 반환합니다.