美文网首页
awk 多文件

awk 多文件

作者: 猿来是八阿哥 | 来源:发表于2021-03-16 19:03 被阅读0次

awk 如何运算多个文件中的内容?

  • 文件1:1.txt (id,name)
GeedeMacBook-Pro:tmp gee$ cat 1.txt
1,zhangsan
2,lisi
3,wangwu
  • 文件2:2.txt (id,age)
GeedeMacBook-Pro:tmp gee$ cat 2.txt
1,20
2,25
3,5
  • 文件3:3.txt (id,sex)
GeedeMacBook-Pro:tmp gee$ cat 3.txt
1,F
2,M
3,F
  • 问题:按id聚合,每行输出一个用户信息?
  • 答:
awk -F ',' '
    FILENAME=="1.txt"{
        user[$1",name"]=$2;
        if(!($1 in id)){
            id[$1]="a";
        }
    }
    FILENAME=="2.txt"{
        user[$1",age"]=$2;
        if(!($1 in id)){
            id[$1]="a";
        }
    }
    FILENAME=="3.txt"{
        user[$1",sex"]=$2;
        if(!($1 in id)){
            id[$1]="a";
        }
    }
    END{
        for(i in id){
            print i"=["user[i",name"]","user[i",age"]","user[i",sex"]"]";
        }
    }
' 1.txt 2.txt 3.txt
2=[lisi,25,M]
3=[wangwu,5,F]
1=[zhangsan,20,F]

相关文章

  • awk 多文件

    awk 如何运算多个文件中的内容? 文件1:1.txt (id,name) 文件2:2.txt (id,age) ...

  • 24 - awk流程控制

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

  • 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为文件名,...

  • Linux:用awk命令获取某行,某列

    1、打印文件的第一列 : awk '{print $1}' filename 2、打印文件的前两列 : awk '...

  • 用awk给文件分片

    说明 用awk给文件分片 文件例子 以上面的文件为例,要通过---符号来给这个单个文件分片成三个文件 awk RS...

  • Linux 笔试面试常用命令

    awk、top、netstat、grep、less、more、tail。 awk:awk是一种处理文本文件的语言,...

  • awk命令的使用

    awk命令的使用 awk命令格式awk '条件1{动作1} 条件2{动作2}…' 文件名 在介绍awk命令的用法前...

网友评论

      本文标题:awk 多文件

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