如何在分割文件时使用 awk 删除重复行

如何在分割文件时使用 awk 删除重复行

我在 shell 脚本中使用 awk,这样我就可以根据第五列分割文件。下面的代码与我正在使用的代码类似:

awk -F';' 'NR==1{h=$0; next}
!seen[$5]++{f="FILE_"$5".txt";print h > f} 
{print >> f}' input.txt

不过,生成每个文件后,我需要删除重复的行。我怎样才能做到这一点?

答案1

只是用作!seen[$0]++测试。

你的代码将是

awk -F';' 'NR==1{h=$0; next}
!seen[$0]++{f="FILE_"$5".txt";print h > f} 
{print >> f}' input.txt

相关内容