如何将许多csv文件处理成许多单独的dat文件

时间:2015-12-04 22:08:08

标签: bash csv awk file-processing

我想要重新格式化几千个csv文件。它们都有一个带增量整数的标准文件名,例如。 file_1.csv,file_2.csv,file_3.csv,它们都具有相同的格式:

CH1
s,Volts
-1e-06,-0.0028,
-9.998e-07,-0.0032,
-9.99e-07,-0.0036,

10,002行。我想删除标题,我想将两列分成单独的文件。我有以下代码,当我考虑单个输入文件时,它产生我想要的结果:

tail -10000 file_1.csv |
awk -F, '{print $1 > "s.dat"; print $2 > "Volts.dat"}'

但是,我想要一些可以为每个csv文件生成等效文件的内容,比如用s.dat或类似文件替换s_$i.dat,但我不知道如何解决这个问题,以及如何在循环中调用每个单独的csv文件,而不是明确地将其声明为file_1.csv

1 个答案:

答案 0 :(得分:1)

xxd -b -s +62475 <yourfilename>救援!

awk

或从数据文件中读取文件名

 awk -F, 'FNR>2{print $1 > "s_"FILENAME".dat"; 
                print $2 > "Volts_"FILENAME".dat"}' file*