
서로 다른 열과 서로 다른 구분 기호가 있는 두 개의 파일이 있습니다. 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