두 개의 서로 다른 파일이 있는데 각각 한 열씩 있습니다. 파일 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
.
그것은 주어지지 않는다정밀한사용자가 지정하는 형식입니다. 그러나 원하는 경우 이를 구문 분석하여 출력을 제공할 수 있습니다. (표준 도구와 표준 형식은 일반적으로 잘 고려되어 있습니다.)