我是新来的awk
,我被要求格式化以下csv
文件(其中每一行代表一天,每个小时都有值)
3244,3138,3068,3083,3231,3624,3932,4018,4095,4195,4260,4328,4400,4431,4423,4418,4377,4331,4367,4354,4220,3919,3647,3415
3280,3187,3142,3165,3353,3772,4093,4126,4151,4180,4146,4141,4111,4071,4009,3942,3902,3871,3997,4005,3838,3657,3492,3332
.... 等等 5 天,在 7 个不同的文件中,格式如下:
4 UC.DB
*************************
*
***************************
*
7 UC_SYSTEM_SCHED,2;0,2;1,2;2,2;3,2;4,2;5,2;6,2;7,2;8,2;9,2;10,2;11,2;12,2;13,2;14,2;15,2;16,2;17,2;18,2;19,2;20,2;21,2;22,2;23
1,3244,3138,3068,3083,3231,3624,3932,4018,4095,4195,4260,4328,4400,4431,4423,4418,4377,4331,4367,4354,4220,3919,3647,3415
0
*
0
0
目的是从一个CSV
包含 7 个不同行的文件中创建 7 个具有这种格式的不同文件。如您所见,前 7 行对于创建的所有 7 个文件都是相同的(第 8 行中的“1”和第 9、10、11、12 行也将保持不变)。唯一的区别是每天导入的数据。
这是我到目前为止所尝试的:
awk -F "," NR==1'{printf "4, UC.DB\n***************\n*\n***************\n*\n7,UC_SYSTEM_SCHED,2;0,2;1,2;2,2;3,2;4,2;5,2;6,2;7,2;8,2;9,2;10,2;11,2;12,2;13,2;14,2;15,2;16,2;17,2;18,2;19,2;20,2;21,2;22,2;23\n1,"}''NR==1'UC_Load_Data.csv > awk.file
它适用于前 8 行,但是当我尝试添加最后 4 行时,我不断收到错误消息。
我知道这可能没有多大意义,而且理解起来令人困惑,但是,我非常感谢您的时间,希望您能帮助我。谢谢..!!!