두 파일을 비교하고 첫 번째 파일에서 일치 항목을 인쇄하고 추가 열을 추가합니다.

두 파일을 비교하고 첫 번째 파일에서 일치 항목을 인쇄하고 추가 열을 추가합니다.

두 개의 서로 다른 파일이 있는데 각각 한 열씩 있습니다. 파일 1에 더 많은 정보가 있습니다. 파일 2에서 일치 항목을 검색한 다음 "일치"와 같은 추가 열이 포함된 원본 파일 1을 반환하는 명령이 필요합니다.

파일 1

Mg_134
Mg_560

파일 2

Mg_1
Mg_134

산출

Mg_134 match
Mg_560

Join 및 grep -Ff를 사용해 보았지만 이 특정 출력을 얻고 싶습니다. 감사해요

답변1

이는 상당히 표준적인 작업이어야 합니다.awk

awk 'NR==FNR {a[$1]++; next} $1 in a {$2="match"}1' File2 File1
Mg_134 match
Mg_560

답변2

파일이 정렬되었다면,표준 도구는 다음과 같습니다 comm.

comm -2 file1 file2

-2옵션은 특정 인쇄 라인을 억제합니다 file2.

그것은 주어지지 않는다정밀한사용자가 지정하는 형식입니다. 그러나 원하는 경우 이를 구문 분석하여 출력을 제공할 수 있습니다. (표준 도구와 표준 형식은 일반적으로 잘 고려되어 있습니다.)

관련 정보