说明:蓝色=命令名称

浅绿=命令参数

浅蓝=选项

紫色=目录

系统环境:CentOS  6.2  i686

要求

文件a: 
10/05766798607,11/20050325191329,29/0.1,14/05766798607 
10/05767158557,11/20050325191329,29/0.08,14/05767158557 

文件b: 
05766798607 
05766798608 
05766798609 
通过文件a和文件b对比,输出结果如下:
10/05766798607,11/20050325191329,29/0.1,14/05766798607

方法:a) awk -F"[/,  ]" '{if(NR==FNR){a[$1]}else if($2 in a)print $0}' b a

解析:NR为主体行号,FNR为单位文件行号。{if(NR==FNR){a[$1]} 将b文件中的数据放入数组a,else if($2 in a)print $0}' 主要是对b文件内容的操作,判断第二个域中数据是否与a数组中的数据匹配,匹配则打印本行。

b)精简法:awk -F"[,/ ]" '{a[$1]}{if($2 in a)print $0}' b a

解析:-F"[,/ ]" 用,或/ 做分隔符,'{a[$1]}{if($2 in a)print $0}' 用第一个域的值作为数组a的下标,判断第二个域是否与数组a(a数组中的有用数据也就为数组a文件中的,即前三行)中的匹配,因为先读入b文件,且b文件中只有一个域,所以此时判断只与a文件有关,最后打印匹配行信息。

转载于:https://blog.51cto.com/linux521/765793

awk双文件互相匹配查找相关推荐

  1. linux从文件中匹配查找内容

    命令说明 find ./ -name "文件名或匹配规则" | xargs grep "查找内容" 示例 find ./ -name "*.sh&qu ...

  2. linux匹配查找满足多个条件,利用Linux的find命令查找符合条件的文件

    本文主要介绍一个小知识点就是利用Linux的find命令查找符合条件的文件,通过这个小知识点的学习,希望读者在今后的工作学习中遇到想要查找符合条件的文件,能用到词知识点. 利用Linux的find命令 ...

  3. linux怎么找指定类型文件,Linux中查找指定类型文件以及删除例子

    在Linux服务器上运行Weblogic服务器,每次需要关闭Weblogic服务器后,都会在domain下留下一些*.lok的文件,导致下次启动的时候因为这些文件无法启动,因此,需要删除产生的所有.l ...

  4. python通过DictReader实现两个csv文件的映射查找lookup之代码详解

    python里应用DictReader的实现匹配查找 需求简介 通过应用DictReader读取csv文件,实现通过一个CSV在另外个CSV里找到对应的解释,类似lookup. 数据内容 1 这里假定 ...

  5. linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令--find和locate,以及压缩打包的命令--compress, gzip,bzip2 ...

  6. awk 多文件操作2种实现方法

    我们经常会将2个有关联文本文件进行合并处理.分别从不同文件获取需要的列,然后,整体输出到一起.awk进行多文件处理时候,常常会遇到2个方面问题,第一个是怎么样合并多个文件为一个文件.第二个问题就是怎么 ...

  7. python通配符搜索文件_Python 如何查找特定类型文件

    写在之前 今天的文章是介绍如何用 Python 去定位特定类型的文件,会讲到用字符串匹配文件名定位特定文件以及顺带介绍一下遍历目录树的函数,通过今天的这一部分以及之前文章讲到的文件获取属性的操作,可以 ...

  8. Linux文件及文件内容的查找-转

    Linux 下提供完善的文件及文件内容查找命令,分别介绍如下: 文件查找命令find find 命令用于查找文件系统中的指定文件,其命令格式为: find 要查找的路径表达式 例如: find . - ...

  9. VBA 关键字匹配查找

    Option Explicit Sub search() '完成对表格单元格中关键字的匹配查找 'Debug.Print "~~~~~~~~~~~~~~~~~~~~~~~~" '变 ...

  10. linux在文件夹下查找关键字,linux 查询目录下包含关键字的所有文件

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查 ...

最新文章

  1. java 泛型反射_Java使用反射来获取泛型信息示例
  2. qtiplot编译失败linux,在macOS上安装 qtiplot 免费版
  3. 【转】使 用免费UMS架设Flash流媒体服务
  4. Chrome开发者工具对Vue应用的支持
  5. C语言 pthread_cancelpthread_detach
  6. 数据科学家在“新常态”下发生了怎样的转变?
  7. 国家机构评测主流电视:长虹人工智能语音识别第一
  8. 3.算法通关面试 --- 哈希表和集合
  9. SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper
  10. IOS开发自定义tableviewcell的注意点
  11. dgen模拟器 linux,怎么样在Linux/FreeBSD下玩模拟器游戏
  12. 如何把自己的项目部署在腾讯云服务器上,别人可以访问(超详细教程)
  13. 拉格朗日乘子和KTT条件
  14. 虚拟pc服务器 翻译,单机服务器配置文件;ServerSettings.ini【翻译】
  15. win10系统VMware虚拟机安装linux使用NAT模式上网配置-命令行上网
  16. 高斯勒让德(Gauss-legendre)求解多重积分(python,数值积分)
  17. 经典WinCC如何移植到TIA博途WinCC Professional?
  18. 系统总线【计算机组成原理】
  19. 哲学家与心理学家在选择性知觉上的不谋而合
  20. android 自动获取短信验证码

热门文章

  1. php rabbmq教程_PHP+RabbitMQ实现消息队列的完整代码
  2. axure 鼠标样式_Axure教程:简单开关按钮的实现
  3. 常用滤波算法(转载)
  4. 《linux c编程指南》学习手记2
  5. 第三课:java开发hdfs
  6. 那些让人惊叹的命令执行效果
  7. 置换元素和非置换元素
  8. Drawable解析1——ColorDrawable、BitmapDrawable、ClipDrawabl和ScaleDrawable
  9. android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)
  10. php正则表达式修饰符详解