首页 > 系统相关 >linux 中 awk命令实现文件按列匹配

linux 中 awk命令实现文件按列匹配

时间:2023-09-08 12:56:04浏览次数:42  
标签:txt pc1 42 按列 awk linux ay test01 root

 

001、 方法1

[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" '{if(NR == FNR) {ay[$1] = $2} else {print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12

 

002、

[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" '{if(NR == FNR) {ay[$1] = $2; next} {print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12

 

003、方法3

[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" 'NR == FNR {ay[$1] = $2; next} {print $2, $1, ay[$2]}' a.txt b.txt
A 100 10
B 50 5
C 42 12

 

004

 

标签:txt,pc1,42,按列,awk,linux,ay,test01,root
From: https://www.cnblogs.com/liujiaxin2018/p/17687289.html

相关文章

  • linux 中awk命令指定读入分隔符
     001、-F指定[root@pc1test01]#lsa.txt[root@pc1test01]#cata.txta:b:c3:8:kf:6:3[root@pc1test01]#awk-F":"'{print$1}'a.txta3f 002、-vFS变量指定[root@pc1test01]#lsa.txt[root@pc1test01]#cata.txta:b:c3:8:k......
  • Linux shell 环境变量 All In One
    Linuxshell环境变量AllInOne全局环境变量,systemwideenvironment系统级环境变量局部环境变量,localwideenvironment用户自定义环境变量shell的3种启动方式登录默认的交互式shell非登录的交互式shell运行脚本的非交互式shellshell的常见类型shba......
  • heijin_linux驱动笔记
    驱动程序的作用:1)向linux内核注册/注销设备号,创建/删除设备节点文件(这个操作可以分离出来),供应用程序调用。(设备节点文件中的设备号要与驱动程序申请注册的设备号一致)2)将物理地址转为虚拟地址进行设备操作,将应用程序的文件调用转为对自定义的驱动函数调用;驱动的创建:配置环境变量(......
  • Linux命令(74)之unzip
    linux命令之unzip1.unzip介绍linux命令是用来解压缩名称后缀为".zip"的文件2.unzip用法unzip[参数]filenname.zipunzip常用参数参数说明-l显示压缩文件内所包含的文件-t检查备份文件是否正确无误-v显示命令执行详细过程-q不显示命令执行过程-P<密码>使用unzip的密码选项-d......
  • linux centos 安装 openssl和httpd错误。
    一、出现如下错误;ab.o:Infunction`ssl_print_cert_info':/srv/httpd-2.4.57/support/ab.c:666:undefinedreferenceto`X509_get_version'/srv/httpd-2.4.57/support/ab.c:668:undefinedreferenceto`X509_getm_notBefore'/srv/httpd-2.4.57/support/ab.c......
  • linux命令行常用快捷键
    在Linux终端中,常见的行跳转指令和技巧:使用Ctrl键加上其他按键:Ctrl+A:将光标移至当前行的开头。Ctrl+E:将光标移至当前行的末尾。Ctrl+U:删除光标位置到行首的所有内容。Ctrl+K:删除光标位置到行尾的所有内容。Ctrl+L:清屏(清除终端上的内容,不是行内跳转)。使用Ctrl键加上左......
  • Windows访问Linux下的FTP服务器(Centos和Uuntu)
    centos7.9版本1.下载FTP离线安装包:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)   选择最后一个 vsftpd-3.0.2-28.el7.x86_64.rpm2.检查是否已经安装了vsftprpm-qa|grepvsftpd出现提示vsftpd版本号则表示......
  • Linux系统上安装.tar.gz格式的Python源码包
    要在Linux系统上安装.tar.gz格式的Python包,您可以按照以下步骤进行操作:解压文件:使用以下命令将.tar.gz文件解压缩:tar-zxvfpackage.tar.gz这将在当前目录下创建一个包含源代码的新文件夹。进入源代码目录:使用cd命令进入解压后的源代码目录:cdpackage检查依赖库:执行以下命令检查......
  • linux中实现去重复且保持原来的顺序
     001、去重复保持原来的顺序[root@pc1test01]#lsa.txt[root@pc1test01]#cata.txt##测试数据125533774[root@pc1test01]#awk'ay[$0]++'a.txt##输出重复项,且保持原来的顺序537[root@pc1test01]#awk'!ay[$0]++'a.txt##去除......
  • linux里如何将一个文件和一个套接字绑定?
    要将一个文件和套接字绑定,你可以使用Linux中的命名管道(NamedPipe)来实现。命名管道是一种特殊类型的文件,可以用来在进程之间进行通信。你可以将命名管道作为一个文件来进行操作,同时将其连接到套接字以进行网络通信。以下是将文件内容输入到套接字的简单示例:创建一个命名管道:mkfifo......