사용자 정의 열 구분 기호를 사용하는 다른 파일에 STDIN을 사용하시겠습니까?

사용자 정의 열 구분 기호를 사용하는 다른 파일에 STDIN을 사용하시겠습니까?

서로 다른 열과 서로 다른 구분 기호가 있는 두 개의 파일이 있습니다. fileA파일의 $1이 파일의 $4와 일치하는 줄을 인쇄하면 됩니다. fileB

이는 두 파일이 모두 동일한 열 구분 기호를 사용하는 경우에만 작동합니다.

cat ./fileA | awk -F' ' 'FNR==NR {lines[$4]; next} $1 in lines {print $0}' fileB -

편집하다 파일 A:

samir x
said y
sabri z
samir y

파일 B:

43,54,65,said

-F파일에 대해 다른 구분 기호를 표시하려면 어떻게 해야 합니까 fileB? fileA기본 공백 구분 기호를 사용합니다 .

나는 시도했다:

cat ./fileA | awk -F' ' 'FNR==NR {lines[$4]; next} $1 in lines {print $0}' FS=',' fileB -

하지만 작동하지 않습니다. 어떤 아이디어가 있습니까?

답변1

노력하다

awk -F, 'FNR==NR { lines[$4] ; next ; } $1 in lines { print }' f2 FS=' ' f1

이것은 만든다

said y

관련 정보