美文网首页
awk合并文件

awk合并文件

作者: 赵会成 | 来源:发表于2019-03-09 15:15 被阅读0次

一个awk由三个部分组成:BEGIN语句块、END语句块和能够使用模式匹配的通用语句块

这三个部分是可选的,任何一个部分都可以不出现在脚本中。

awk 'BEGIN {statements} {statements} END {end statements}'

例如打印文件行数

awk 'BEGIN {i = 0} {i++} END {print i}' filename #三个部分

awk 'END{print NR}' filename #可只用第三个部分

wc -l filename | awk '{print $1}' #先计算 只显示行数

awk常用参数

NR:整个脚本当前已经读取过的记录数,就是行号,从1开始。随着所读文件的数目,一直累加。

FNR:同NR,不过是针对当前在读的文件记录数。每开始读一个新文件时,从1开始累加,相当于行号。读完一个文件后就会清0,新的文件又会从1开始。

FILENAME:当前文件名

$0:读取文件的当前行

$n(n>0):第n列数据

NR:一行记录的字段的数目,也就是列数。

TCL_P728M       TCL     74eda717a4aef660f362f1806eb85d9d

TCL_S720_JB2    TCL     ecb6724875f6361466f4e91df603f06c

TCL_P728M       TCL     f654f6d4f2157a658c0d7f688bb074b8

TCL_P728M       TCL     d8ed297d1a0a405434e49f66d00d92ae

TCL_P728M       TCL     5afcdd7b3eec3e15e636e3c7f249938a

d8ed297d1a0a405434e49f66d00d92ae        5

f654f6d4f2157a658c0d7f688bb074b8        2

74eda717a4aef660f362f1806eb85d9d        15

TCL_P728M       TCL     f654f6d4f2157a658c0d7f688bb074b8|2

TCL_S720_JB2    TCL     ecb6724875f6361466f4e91df603f06c

TCL_P728M       TCL     74eda717a4aef660f362f1806eb85d9d|15

TCL_P728M       TCL     5afcdd7b3eec3e15e636e3c7f249938a

TCL_P728M       TCL     d8ed297d1a0a405434e49f66d00d92ae|5

 awk   '{if(NR==FNR){a[$3]=$0} else{a[$1]=a[$1]"|"$2}} END{for(i in a) {print a[i]}}' push cru

awk 'NR==FNR{a[$3]=$0;next}{print a[$1]}' push cru #只显示匹配上的文件

awk 'NR=FNR{a[$3]=$0;next}{print a[$1]"|"$2}' push cru#前后两个文件都显示

相关文章

  • awk合并文件

    一个awk由三个部分组成:BEGIN语句块、END语句块和能够使用模式匹配的通用语句块。 这三个部分是可选的,任何...

  • 常用Linux命令

    服务器常用 文件合并、去重、拆分 解释下 awk '!a[$0]++' file:https://blog.csd...

  • awk

    请使用awk命令将如下两份文件中名字相同的两行合并起来

  • 24 - awk流程控制

    if语句 单分支if判断 awk '指令' 文件 双分支if判断awk '{指令}' 文件 for循环 awk的f...

  • 【awk】awk之RS、ORS与FS、OFS

    awk next 将多行合并成一行显示 http://www.361way.com/awk-next-merge-...

  • Linux Shell: awk利用索引合并文件

    找到两个文件含有共同索引的行, 并合并行 示例文件 a.txt b.txt 文件特征: 第一列为共同索引, 期望根...

  • awk的用法

    一、awk命令用法 在Linux中,awk 即 gawk , awk的二进制文件为gawk的链接文件; ...

  • 4 种方法去除文本中的空行

    sed grep tr awk 测试文件如下: sed grep awk tr

  • AWK的使用

    AWK语法: awk -F/f/v/ + ‘pattern’ +文件全路径或者:标准输出|awk -F/f/v/...

  • awk常用基础命令(ing)

    Awk 1. 打印文件的某列: awk '{print $2}' handdata注:handdata为文件名,...

网友评论

      本文标题:awk合并文件

      本文链接:https://www.haomeiwen.com/subject/esgspqtx.html