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