2020-06-28 15:06:27
$0 表示一个文本中的一行记录
$1...N 表示一行中的第 1...N 字段
FNR The input record number in the current input file. #已读入当前文件的记录数
NR The total number of input records seen so far. #已读入的总记录数
next Stop processing the current input record. The next input record is
read and processing starts over with the first pattern in the AWK
program. If the end of the input data is reached, the END block(s),
if any, are executed.
执行处理顺序:
首先,对file1执行“NR==FNR{…}”第一个循环,建立哈希数组;第二步,执行“NR>FNR{…}”第二个循环,打印输出命令结果。
一种是awk 'NR==FNR{...}NR>FNR{...}' file1 file2 或 awk 'NR==FNR{...}NR!=FNR{...}' file1 file2
另一种是
awk 'NR==FNR{...;next}{...}' file1 file2
file1:
文件内容:
sina.com 52.5
sohu.com 42.5
baidu.com 35
file 2:
文件内容:
www.news.sina.com sina.com 80
www.over.sohu.com baidu.com 20
www.fa.baidu.com sohu.com 50
www.open.sina.com sina.com 60
www.sport.sohu.com sohu.com 70
www.xxx.sohu.com sohu.com 30
www.abc.sina.com sina.com 10
www.fa.baidu.com baidu.com 50
www.open.sina.com sina.com 60
www.over.sohu.com sohu.com 20
awk 'NR==FNR{a[$1]=$2;next}{print $0,a[$2]}' f1 f2
命令结果:
www.news.sina.com sina.com 80 52.5
www.over.sohu.com baidu.com 20 35
www.fa.baidu.com sohu.com 50 42.5
www.open.sina.com sina.com 60 52.5
www.sport.sohu.com sohu.com 70 42.5
www.xxx.sohu.com sohu.com 30 42.5
www.abc.sina.com sina.com 10 52.5
www.fa.baidu.com baidu.com 50 35
www.open.sina.com sina.com 60 52.5
www.over.sohu.com sohu.com 20 42.5
需要处理的同名字段可以在两个文件中行号不同的行,无需行号排序相对应,
命令结果的行顺序依据第二个文件中同名字段顺序输出。
f1
文件内容:
10020036 beijing
10050259 lanzhou
10045682 hefei
20130495 guangzhou
20981345 shenzhen
20984748 chengdu
20891376 changsha
f2
文件内容:
guangzhou 4.5
hefei 2.6
beijing 1.3
shenzhen 8.5
changsha 0.8
chengdu 2.0
lanzhou 2.4
awk 'NR==FNR{a[$2]=$1}NR>FNR{print a[$1],$0}' f1 f2
命令输出:
20130495 guangzhou 4.5
10045682 hefei 2.6
10020036 beijing 1.3
20981345 shenzhen 8.5
20891376 changsha 0.8
20984748 chengdu 2.0
10050259 lanzhou 2.4
Logstash匹配request_time 字段错误解决方法
03-22
使用AWK合并空行
06-25
9个常用iptables配置实例
03-29
Docker命令行参考(11) – docker load从tar归档文件或STDIN导入镜像
07-20
Linux文件查看/编辑方法介绍
07-17
MBR与GPT分区格式(实例-创建大于2TB的分区)
03-19
Outlook 2010如何新建.pst文件?
07-03
Python3对比合并Excel表格
03-17
Ubuntu系统配置samba实现文件夹共享
06-22
iptables INPUT链使用实例说明
02-22
iptables配置实例说明
06-11
linux中NFS服务安全加固实例
04-17
php-fpm性能优化实例分析
05-13
万全T168 G5/T468 G5主板有两个纽扣电池位,另外一个空闲有什么作用?
04-16
使用zabbix自动发现自动监控多tomcat实例
05-16
使用联想MX8610MP3播放器不能识别其他MP3播放器MMC和SD卡中的MP3文件
07-20
和平精英:新版本再曝光!配件合并,新载具登场,经典设定回归
05-27
在WPS表格中如何进行表格合并计算?
03-18
如何修改笔记本蓝牙文件接收的保存路径(适用Broadcom2045/2046)
06-29
手机与电脑通过蓝牙互传文件(Win7、Win8)
07-03
pdf合并软件(pdf文件合并工具)v1.11 官方版
209.0M
下载Abelssoft Easy PDF(PDF拆分合并软件) v1.02.25 免费版
12.8MB
下载Excel合并器 v1.0 官方版
3.46M
下载Excel合并精灵 v8.0 最新版
2.5M
下载ceb文件阅读器(阅览软件)V4.5.3 中文版
42.6M
下载d3d9(系统文件)2021 绿色版
530.9K
下载msvcp100(系统文件)2021 免费版
133.8K
下载nt6(dll文件)v1.0 官方版
182KB
下载wpcap.dll(系统文件)2021 免费版
0.1MB
下载风云PDF转换器(PDF文件转换工具) v6.0.0.1 破解版
1.22MB
下载字幕大师下载
43.57 MB
下载PDF猫OCR文字识别下载
9.1M
下载TrueType造字程序下载
0.09MB
下载editplus3(文字处理软件)V4.1.0 993最新版
1.4M
下载srtedit(字幕编辑处理工具) V6.3.2012.1001 正式版
24.45 MB
下载ttf字体下载
6KB
下载为知笔记(文字编辑软件)v2.8.5 绿色版
69M
下载小灰熊字幕制作软件(歌词制作工具) 3.5.2 最新版
1.9MB
下载拼音打字练习下载
8.54 MB
下载繁体字转换器(繁体字转换软件) v2.5 免费版
3.86 MB
下载