加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 通过两个文本文件中的特定模式获取差异文件

发布时间:2020-12-14 06:03:07 所属栏目:百科 来源:网络整理
导读:我有2个文本文件,我需要将“更改”导出到新文件.这意味着第二个文件的行与第一个文件的行进行比较,如果在那里找不到行,那么它会将它附加到新的(第三个)文件. 第一个文件的内容是: ABC 123 q1w2sdDEF 321 sdajknGHI 123 jsdnajJKL 456 jsd223 第二个文件包含
我有2个文本文件,我需要将“更改”导出到新文件.这意味着第二个文件的行与第一个文件的行进行比较,如果在那里找不到行,那么它会将它附加到新的(第三个)文件.

第一个文件的内容是:

ABC 123 q1w2sd
DEF 321 sdajkn
GHI 123 jsdnaj
JKL 456 jsd223

第二个文件包含:

ABC 123 XXXXXX
JKL 456 jsd223
DEF XXX sdajkn
GHI 123 jsdnaj

请注意,以ABC和DEF开头的行已更改. JKL刚刚改变了它的位置.

输出文件应包含:

ABC 123 XXXXXX
DEF XXX sdajkn

如何使用’awk’或’sed’来做到这一点?

编辑:第二个文件中的新行也应计为更改..

解决方法

awk 'NR == FNR { f1[$0]; next } !($0 in f1)' file1 file2

用grep:grep -Fvxf file1 file2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读