linux下将多个文件去除文件头合并_linux awk将多个文件结果列合并到一个文件

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("%s\t%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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值