概述
Linux
下
awk
将多个文件的结果列合并到一个文件
在使用
NS
进行模拟结果数据处理的时候,往往需要对多组参数的结果进行比较来鉴别性
能的优劣,这里编写了一个使用
awk
将多个同类型结果文件进行合并操作的脚本。如,
NS
模
拟结果中,经常出现多个网络参数(协议类型、误码率、带宽、背景流、时延等)取不同值条
件下进行一些网络指标(
RTT
,
cwnd
,吞吐量、网络利用率、公平性等)统计,这时会产生
N
多组实验结果,
怎样对这么多组结果中的单个指标
(常见的吞吐量)
进行比较,
如果使用手工
粘贴到
excel
再进行绘图就显得任务量很大,显得人脑子比较笨(当然,最优秀的程序员永远
是最懒的,我恰巧也是其中之一)
。
小提示:为了方便
NS
模拟结果直接在
excel
里面打开,建议结果数据以文本形式(
.txt
,
.dat
)保
存,
各数据列之间用制表符
t
(
excel
默认分隔符)
,
这样在文件上右键
-
》
Excel
打开即可,
而不用在
excel
里面使用数据导入向导设置分隔符这么麻烦。一切以提高生产效率和生活质量为根本出发点
O(
∩
_
∩
)O~
。
这里给出一个
awk
脚本来实现上面的问题。
test.awk:
#!/usr/bin/awk -f
BEGIN {
#print ARGC;
Index[ARGC];#
记录各个文件的行下标
for(t=1;t<=ARGC;t++)
{
Index[t]=0;
}
}
{
#
文件数
ARGC-1,
第一个参数是应用程序名
awk.
for(t=1;t<=ARGC;t++)
{
if(FILENAME==ARGV[t])
{
line[t,Index[t]]=$0;#$0=
整行
,
前提是各个文件行列之间已经被
t
制表符分隔。
#line[t,Index[t]]=sprintf("%st%s",$1,$2);#
如果固定为几列,也可以用这个。
Index[t]++;
}
}
}
END {
maxcount=0;
for(i=1;i<=ARGC;i++)
{
if(Index[i]>maxcount) maxcount=Index[i];
}
#printf("maxcount:%d",maxcount);
最后
以上就是温暖棒棒糖为你收集整理的linux下将多个文件去除文件头合并_linux awk将多个文件结果列合并到一个文件的全部内容,希望文章能够帮你解决linux下将多个文件去除文件头合并_linux awk将多个文件结果列合并到一个文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复