《linux awk将多个文件结果列合并到一个文件.docx》由会员分享,可在线阅读,更多相关《linux awk将多个文件结果列合并到一个文件.docx(2页珍藏版)》请在三一办公上搜索。
1、linux awk将多个文件结果列合并到一个文件Linux下awk将多个文件的结果列合并到一个文件 在使用NS进行模拟结果数据处理的时候,往往需要对多组参数的结果进行比较来鉴别性能的优劣,这里编写了一个使用awk将多个同类型结果文件进行合并操作的脚本。如,NS模拟结果中,经常出现多个网络参数取不同值条件下进行一些网络指标统计,这时会产生N多组实验结果,怎样对这么多组结果中的单个指标进行比较,如果使用手工粘贴到excel再进行绘图就显得任务量很大,显得人脑子比较笨。 小提示:为了方便NS模拟结果直接在excel里面打开,建议结果数据以文本形式保存,各数据列之间用制表符t,这样在文件上右键-Exc
2、el打开即可,而不用在excel里面使用数据导入向导设置分隔符这么麻烦。一切以提高生产效率和生活质量为根本出发点O(_)O。 这里给出一个awk脚本来实现上面的问题。 test.awk: #!/usr/bin/awk -f BEGIN #print ARGC; IndexARGC;#记录各个文件的行下标 for(t=1;t=ARGC;t+) Indext=0; #文件数ARGC-1,第一个参数是应用程序名awk. for(t=1;t=ARGC;t+) if(FILENAME=ARGVt) linet,Indext=$0;#$0=整行,前提是各个文件行列之间已经被t制表符分隔。 #linet,I
3、ndext=sprintf(%st%s,$1,$2);#如果固定为几列,也可以用这个。 Indext+; END maxcount=0; for(i=1;imaxcount) maxcount=Indexi; #printf(maxcount:%d,maxcount); for(j=0;jmaxcount;j+) for(i=1;i out.txt Rtt1.txt: Rtt.txt: Rtt2.txt: 合并结果out.txt: 在excel里面打开结果: 将rtt1.txt rtt.txt rtt2.txt out.txt文件合并, awk -f test.awk rtt1.txt rtt.txt rtt2.txt out.txt out2.txt 结果out2.txt: Excel中打开out2.txt