다른 파일의 요소를 기반으로 대용량 파일 분할

다른 파일의 요소를 기반으로 대용량 파일 분할

다른 파일의 요소를 기반으로 대용량 파일을 분할하고 싶습니다. 첫 번째 파일의 샘플 데이터는 다음과 같습니다.

Col1,Col2,Col3   
A,10,50  
B,10,05  
C,20,30  
B,20,03  
A,30,100  
C,30,111  
D,40,120  

두 번째 파일은 다음과 같습니다.

A  
B  
C

첫 번째 열의 값이 "A"인 file1의 하위 집합을 A.txt에 저장하고 "B"를 B.txt에 저장하려고 합니다.

내가 사용하기 전에

awk '$1=="A"' file1.txt > A.txt

하지만 이제 두 번째 파일에서 100개가 넘는 서로 다른 이름을 처리해야 하며 작업을 완료하는 더 나은 방법을 찾아야 합니다. 감사해요! ! !

답변1

귀하 사건의 기본 요소는 이 사이트에서 여러 번 논의되었습니다.

그것들을 하나로 합치고,

awk -F, 'NR==FNR {a[$1]++; next} $1 in a {print > $1 ".txt"}' file2.txt file1.txt

관련 정보