간단한 bash 스크립트를 사용하거나 사용하여 제공된 지침에 따라 File1
새로운 전체 줄을 복사할 수 있습니까?File3
File2
sed
awk
File1: /*two or more columns*/
AC 456324
DC 689712
GH 123677
KL 236587
File2: /*one column*/
AC
DC
File3:
AC 456324
DC 689712
저는 실제로 Python 사전을 사용하여 이 작업을 수행하고 있는데 간단한 해결 방법을 알고 계시는지 궁금합니다.
답변1
그리고grep
grep -Ff File2 File1
그리고awk
awk 'NR==FNR {a[$1]++;next} a[$1]' File2 File1
답변2
당신은 그것을 사용할 수 있습니다join
특정 열의 값이 동일한 두 파일의 위치를 연결하여 두 파일의 행을 병합합니다. 입력 파일은 이 열의 값을 기준으로 정렬되어야 합니다.
join File1 File2
파일이 정렬되지 않은 경우 bash/ksh93/zsh에서:
join <(sort File1) <(sort File2)
여기에 결합할 필드는 AC
다음을 포함하는 필드입니다. DC
다음은 조인할 필드가 의 열 3 File1
과 열 2인 경우의 예입니다 File2
.
join -1 3 -2 2 <(sort -k3,3 File1) <(sort -k 2,2 File2)