파일 2에서 파일 1의 내용을 검색하여 파일 2 열을 출력합니다.

파일 2에서 파일 1의 내용을 검색하여 파일 2 열을 출력합니다.

file2에서 file1의 내용을 찾으려면 출력에 file2의 내용이 포함되어야 하지만 두 번째 열이 있어야 합니다.

파일 1:

DataCreditoEAR.ear
PostSale.ear

파일 2:

DataCreditoEAR.ear      /usr/DataCreditoEAR
DatacreditTableAdministrator.ear        /usr/DatacreditTableAdministrator
PostSale.ear    /usr/PostSale

산출:

/usr/DataCreditoEAR
/usr/PostSale

답변1

가장 간단하고 쉬운 방법은 을 grep사용하여 패턴 일치를 수행한 다음 awk두 번째 필드를 추출하는 것입니다.

grep -f File1 File2 | awk '{print $2}'

File1에 정규식 패턴 대신 고정 문자열이 포함되어 있는 경우 grep의 -F일명 --fixed-strings옵션을 사용하세요.

grep -F -f File1 File2 | awk '{print $2}'

답변2

File2의 필드(열)가 탭으로 구분되어 있는 경우

grep -f File1 File2 | cut -f2

그렇지 않으면,

grep -f File1 File2 | awk '{print $2}'

또는 완전히 awk로(공백 스타일과 무관하게):

awk '!flag { a[$1]++ } flag { if (a[$1]) print $2 }' File1 flag=2 File2

관련 정보