`
lionlx
  • 浏览: 286541 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用awk比较两个文件是否含有相同的数据

 
阅读更多
现在两个文件格式如下:
test1:
aaa
bbb
ddd

test2:
aaa|1000
bbb|2000
ccc|3000
ddd|4000

awk -F'|' 'NR==FNR{a[$1]++}NR!=FNR{if($1 in a){print}}' test1.txt test2.txt
分享到:
评论

相关推荐

    sed与awk.zip

    在Linux系统中,`sed`(流编辑器)和`awk`是两个强大的文本处理工具,广泛用于数据处理、日志分析、文本转换等场景。它们都是基于行操作的工具,能够对输入流进行处理,而无需改变原始文件。本教程将深入探讨这两个...

    Sed与awk第二版(高清版).pdf

    根据提供的文件信息,我们可以从《Sed与awk第二版(高清版).pdf》这一资源中提炼出关于Sed和awk这两个强大的文本处理工具的相关知识点。虽然免责声明部分并未提供具体的技术内容,但我们可以通过书籍的标题、描述及...

    sed和awk使用实例

    这两条命令都可以用于筛选出 login_version 的值,awk 使用字段分隔符 : 将文件分隔成多个字段,然后匹配 login_version 字段,最后打印出对应的值。sed 命令使用正则表达式匹配 login_version 字段,并将其捕获组...

    the awk programming language代码相关

    在Linux和Unix系统中,awk被广泛用于处理和解析日志文件、CSV数据以及其他格式的文本文件。 awk的工作原理是基于模式匹配,它会扫描输入文件的每一行,寻找匹配特定模式的行,并对这些行执行相应的动作。这些模式...

    AWK命令详解 sed命令详解

    1. **记录**: AWK 将输入文件视为一系列记录,通常一行就是一个记录。 2. **字段**: 记录由一个或多个字段组成,默认情况下,字段由空白字符分隔。 3. **模式匹配**: AWK 支持正则表达式来指定模式匹配条件。 4. **...

    awk使用大全

    在Linux环境下,awk是一个极其强大的文本处理工具,它能够灵活地解析和操作数据,尤其擅长于处理结构化的文本文件。本文将全面解析awk的基本用法、核心功能及实际应用案例,帮助读者掌握这一数据处理利器。 #### 一...

    awk and sed修订完美高清第三版

    7. 标签中的“awk”和“sed”代表了这两个工具作为标签,它们通常与Unix/Linux环境和文本处理任务关联在一起。 8. 在提供的内容部分,作者声明这本书是基于网络资源整理而成,其中包含免责声明。这部分内容表明,这...

    awk sed3 linux shell

    本文将深入探讨awk和sed的使用方法及其在shell编程中的应用,揭示如何巧妙结合这两个工具以实现复杂的文本处理功能。 首先,我们需要理解awk和sed的基本功能和特点。awk是一种编程语言,它特别擅长于对文本和数据的...

    sed_awk正则表达式

    标题《sed_awk正则表达式》揭示了本文内容将重点围绕sed和awk这两种流式文本编辑器的使用方法,以及如何在它们中应用正则表达式来过滤和处理文本数据。从描述来看,本文是一份比较详细的参考资料,旨在帮助读者掌握...

    awk入门教程

    - **类型强制转换**:在比较表达式中,若两个操作数都是数值,则进行数值比较;否则进行字符串比较。可以通过 `num`、`""`、`string+0` 进行类型转换。 - **正则表达式**:在 `~` 和 `!~` 右边的任何字符串或变量...

    unix命令集(中文版和英文版两个文件)pdf

    本资源包含两个PDF文件,分别是"unix命令参考.pdf"和"linuxrefcard.pdf",分别提供了中文和英文版的Unix命令集,帮助用户快速理解和记忆这些基础且实用的命令。 1. **文件管理**: - `ls`:列出目录内容。 - `cd`...

    GWAK例程

    为了在两个字段间插入空格,你需要明确指定,如`print $1 " " $3`。 awk中的其他重要概念包括模式匹配和条件语句。通过指定模式,你可以让awk仅在满足特定条件时执行代码块。例如,`awk '/pattern/ { action }`会在...

    linux数据抽取命令

    `join` 用于根据指定字段连接两个文件。 示例命令: ```bash # 将 `file1` 和 `file2` 根据第一列连接 join file1 file2 # 将 `file1` 和 `file2` 根据第三列连接 join -1 3 -2 3 file1 file2 ``` #### 八、awk ...

    Shell正则表达式之grep、sed、awk实操笔记

    - **功能**: 将文件`file`中的每两行合并为一行。 #### 四、awk实操笔记 `awk`是一种用于报表生成的脚本语言,它非常适合处理结构化的数据。 ##### 示例1: 计算字段总和 - **命令**: `awk '{sum += $1} END {print...

    awk正则表达式和内置函数的使用方法实例详解

    例如,在awk中使用正则表达式进行模糊匹配的示例代码为`awk '/97/ {print $0}' data.f`,这表示在data.f文件中找到含有"97"的文本行,并将其打印出来。 内置函数是awk语言中预定义好的函数,这些函数为文本处理提供...

    UNIX期末考试习题

    使用 diff 命令可以对 ASCII 文件进行比较,找出两个文件的差别。C 语言源程序文件属于 ASCII 文件,可以用 diff 完成上述功能。完整的命令为:diff fexc.c fexc0.c 知识点:diff 命令的使用,了解文件比较和版本...

    shell基础十二篇

    例如,`sort`对数据排序,`uniq`去除重复行,`join`合并两个已排序的文件,`cut`和`paste`分别用于提取或组合文件的部分列。 7. **tr**: - `tr`命令用于转换或删除文件中的字符,如大小写转换、删除空白字符等。 ...

    文本编辑 去空行 批量转换 textzl.rar 绿色

    "去空行"和"批量转换"是两个常见的文本编辑需求,特别是对于清理和整理文本文件时。 去空行是指删除文本文件中的空白行,这个功能在处理含有大量无用空白行的数据文件时非常实用。例如,当你从网页或数据库中导出...

    shell学习资料

    - 例子:使用`awk`合并两个文件的内容,根据共同的字段进行组合。 ```bash awk -F'|' 'NR==FNR{a[$2]=$0;next}{print a[$1]"|"$2}' account cdr ``` 这里,`NR==FNR`用于判断是否正在读取第一个文件(`account`)...

    shell脚本教程.doc

    文档中提到了两个例子: 1. 求文本的长度:可以使用`wc -l`命令,或者使用awk的内置变量`NR`,在`END`代码块中打印行数,如`awk 'END{print NR}'`。 2. 输出第二列含有特定字符的行:例如,查找第二列包含数字4的行...

Global site tag (gtag.js) - Google Analytics