Chinaunix首页 | 论坛 | 博客
  • 博客访问: 551906
  • 博文数量: 48
  • 博客积分: 1371
  • 博客等级: 中尉
  • 技术积分: 587
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-04 15:32
文章分类

全部博文(48)

文章存档

2013年(5)

2012年(35)

2011年(8)

分类: LINUX

2012-05-02 12:37:01

1. 当awk读取的文件只有两个的时候,比较常用的有两种方法
1. awk 'NR==FNR{...}NR>FNR{...}'  file1 file2   或awk 'NR==FNR{...}NR!=FNR{...}' file1 file2
2. awk 'NR==FNR{...;next}{...}' file1 file2

2. 当awk处理的文件超过两个时,显然上面那种方法就不适用了。因为读第3个文件或以上时,也满足NR>FNR (NR!=FNR),显然无法区分开来。所以就要用到更通用的方法了:
1.ARGIND 当前被处理参数标志: awk 'ARGIND==1{...}ARGIND==2{...}ARGIND==3{...}... ' file1 file2 file3 ...
2.ARGV 命令行参数数组:   awk 'FILENAME==ARGV[1]{...}FILENAME==ARGV[2]{...}FILENAME==ARGV[3]{...}...' file1 file2 file3 ...    
3.把文件名直接加入判断: awk 'FILENAME=="file1"{...}FILENAME=="file2"{...}FILENAME=="file3"{...}...' file1 file2 file3 ...
阅读(2247) | 评论(1) | 转发(1) |
0

上一篇:Ubuntu 安装LAMP 好简单

下一篇:awk时间函数

给主人留下些什么吧!~~

夏冰软件2012-05-02 16:31:22

您写的文章很不错,支持一下