首页 > 其他分享 >【awk】找出两个文件中的不同值

【awk】找出两个文件中的不同值

时间:2023-01-09 15:25:29浏览次数:35  
标签:文件 找出 FNR awk mysql NR txt

https://blog.csdn.net/weixin_33534991/article/details/116683524

 

awk 'NR==FNR{a[$0]}NR>FNR{ if(!($1 in a)) print $0}' file1 file2 找出文件2中跟文件1不同的值 

 

三:awk实现

awk应该算是shell常用命令中的泰山北斗了,几乎很多其他命令能完成的工作,awk都能完成(只不过有些写起来可能比较复杂)。本例中也不例外:

awk 'NR==FNR{a[$0]++} NR>FNR&&!a[$0]' 1.txt 2.txt

找出两个文件之间的相同部分可以使用

awk 'NR==FNR{a[$0]++} NR>FNR&&a[$0]' 1.txt 2.txt

下面的两个语句也可以换成:

awk 'NR==FNR{a[$0]}NR>FNR{ if(!($1 in a)) print $0}' file1 file2 找出文件2中不同的值

awk 'NR==FNR{a[$0]}NR>FNR{ if($1 in a) print $0}' file1 file2 找出两文件中相同的值

注:

1、awk实现时,并不需要事先对两个文件进行sort排序,

2、注意和上两个命令中两个文件的放置顺序是不同的。三种实现方法,文件的顺序一定颠倒,颠倒了,效果就刚好想反了,就变成找出文件1中有文件2中没有的行了。

四、grep排序

grep -v -f 1.txt 2.txt

如grep -v -f 2017060614_bin.log /home/data/mysql/binlog/mysql-bin.index

/home/data/mysql/binlog/mysql-bin.009021

/home/data/mysql/binlog/mysql-bin.009022

grep常用用法

grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-a :将 binary 文件以 text 文件的方式搜寻数据

-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

--color=auto :可以将找到的关键词部分加上颜色的显示喔!

 

标签:文件,找出,FNR,awk,mysql,NR,txt
From: https://www.cnblogs.com/xincha/p/17037154.html

相关文章

  • 使用Python库pyqt5制作TXT阅读器(二)-------打开文件和浏览最近的文件
    项目地址:https://github.com/pikeduo/TXTReaderPyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/pyqt5/QtDesigner学习地址:https://youcans.blog.csdn.net......
  • linux scp文件分发脚本
    说明:集群节点之间文件、目录分发同步脚本将本节点指定目录的文件同步到对应集群所有节点的相同位置fdir为文件的绝对路径,用于指定集群节点中目标目录路径#!/bin/bash......
  • git代码仓sourcetree忽略.xcuserstate或.xcscheme等文件设置
    首先编辑.gitignore文件如下然后将我们想忽略的文件加上然后终端输入如下代码cd项目路径gitrm-r--cached.gitadd.gitcommit-m''"之后重启source......
  • B/S超大文件上传
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求     ......
  • HP Unix 挂载 ISO 文件的两种方法:
    有两种方法: 1、如果iso文件小于2GB,可以用如下方式: #/usr/sbin/pfs_mountd&#/usr/sbin/pfsd&#pfs_mount-tiso9660/data/hpux_v11.11.iso/mnt/temp#cd/mnt/t......
  • awk
    获取第一行内容内容如下$lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitAddresssizes:39bitsphysical,48bitsvirt......
  • java文件夹和文件
    本文主要讲述java如何创建文件夹和文件题目:指定路径,判断当前路径是否有目标文件夹,如果没有,则创建;如果有,在目标文件夹下创建目标文件【txt文件】,并使用转换流+处理流写入......
  • 01notepad++如何比较两个文件内容
    下面介绍,通过在NotePad中下载安装Compare插件,可以比较两个文件内容。(推荐学习:notepad++)打开NotePad,点击工具栏上的【插件】–》PluginManager—》ShowPluginManage......
  • Linux文件的S和T权限
    S与T权限上图中,S_IRWXUS_IRWXGS_IRWXO代表常见的三段权限:拥有者,同组用户,其他用户的权限,而S_ISUIDS_ISGIDS_ISVTX代表的是S权限与T权限.S权限S权......
  • java的读取和写入properties配置文件
    本文主要讲述java读取和写入properties文件操作一.介绍Properties类  Properties用于读取和写入Xx.properties文件,获取k-v二.Properties类的读取和写入Propertie......