根据另一个文件中的元素分割一个大文件

根据另一个文件中的元素分割一个大文件

我想根据另一个文件中的元素拆分一个大文件。以下是第一个文件的示例数据:

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

我想将 file1 的子集与第一列的值“A”保存到 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

相关内容