我需要连接一些名称末尾有数字的 csv 文件:
file1.csv, file2.csv, ..., file15.csv
这些文件有相同的文件头,我只想保留第一个文件的文件头。
在阅读了很多帖子后,我找到了一种连接文件并保留标题的方法,但是连接文件的顺序没有保留:
awk 'FNR==1 && NR!=1{next;}{print}' file$*.csv > file.csv
最佳答案
错误的顺序是因为通配符是按字典顺序展开的,而不是数字顺序。您可以使用范围表达式而不是通配符来获取数字顺序。
awk 'FNR==1 && NR!=1{next;}{print}' file{1..15}.csv > file.csv
或者您可以更改您的命名风格,为它们提供前导零,file01.csv
、file02.csv
等。
另见 glob with numeric order用于其他技术。
关于Linux:如何按顺序连接 CSV 文件并且只保留要连接的第一个文件的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39084068/