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

awk合并多个文件并去除重复行

 
阅读更多
awk '!a[$0]++' a.txt b.txt c.txt
 

解释:
1、当条件 !a[$0]++ 为真时,awk 的默认动作是 print $0 ,即打印出当前行;
2、当一行首次出现时,a[$0] 为假,!a[$0]++ 为真。以后,当相同的行再次出现时,a[$0] 为真,!a[$0]++ 为假,所以不再打印该重复的行。所以就实现了去除重复行的功能。

类似上面的运用还有很多,比如提取一个文件的奇数行,可用如下方法:
awk 'NR%2' a.txt
sed实现提取奇数行:
sed -n 'p;n'

分享到:
评论

相关推荐

    unix shell awk 修改ini文件的脚本

    - 如果当前行又是一个新的节,则重置 `blnFS` 并重复搜索过程。 4. **键值对处理**: - 当 `blnFS` 为1时,脚本会检查当前行是否包含目标键 `KEY1`。 - 如果找到目标键,则使用新的值替换原有的键值,并将修改后...

    sed awk高级编程案例

    sed作为一个流编辑器,擅长于对单行文本进行快速处理和转换,而awk则是一个更复杂的文本分析工具,适用于将文本文件分割成多个字段并进行复杂处理。两者都是系统管理员和开发人员必备的技能,掌握它们可以帮助我们...

    sed和awk单行命令比较

    使用`awk`的替换函数`sub`,同样使用正则表达式`^[\t]+`匹配每行开头的一个或多个制表符,并将其替换为空。 ##### 2.13 删除每行结尾的空白字符 **sed**: ``` sed 's/[\t]*$//' ``` 使用`sed`的替换命令`s///`,...

    sed和awk使用实例

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

    sed&awk;

    假设有一个日志文件`access.log`,内容较为杂乱,需要首先使用`sed`去除无用信息,然后再使用`awk`统计访问次数: ```bash sed 's/.*\[\(.*\)\].*/\1/' access.log | awk '{count[$1]++} END {for (i in count) ...

    linuxshell删除重复文件只保留一份.docx

    这个 Shellscript 由多个部分组成,下面我们将逐个解释每个部分: 1. `ls -lS`:这个命令用于列出当前目录下的文件,并按照文件大小排序输出。 2. `awk`:这个命令用于处理文本流,并将文件名和大小提取出来。 3. `...

    sed和awk简明手册

    - 示例:`awk '{print $1}' file` 用于打印文件每一行的第一个字段。 - **常用命令**: - **打印字段**:`print` - 例如,打印每一行的第一个字段:`awk '{print $1}' list` - **条件判断**:使用`if`语句 - ...

    sed与awk.zip

    `awk`是一个功能强大的文本分析工具,它可以根据指定的模式对文件进行处理,并执行相应的动作。`awk`的基本语法是`awk 'pattern {action}' file`。`pattern`可以是正则表达式,`action`则是执行的操作,如打印、计算...

    sed命令和awk编程教程

    - `-e`:用于指定编辑命令,当有多个编辑命令时,每个命令之间需要用逗号分隔。 - **编辑命令**: - **定位文本行**: - 行号定位:例如,`1p`表示打印第1行。 - 范围定位:例如,`1,3p`表示打印第1至第3行。 ...

    Sed与awk第二版(中文高清版)

    4. 批处理:sed可以将多个编辑命令串连起来应用到输入的文本上。 5. 命令行直接编辑:sed可以快速地处理从命令行输入的文本。 awk则以其强大的文本处理能力著称,它的核心功能包括: 1. 字段分割:awk可以将文本行...

    grep,sed, awk 总结

    grep是用于搜索文本的工具,支持正则表达式,能从文件中找出匹配特定模式的文本行,并将其打印出来。grep的基本用法为: ``` grep [选项] '模式' [文件] ``` - `-c` 选项用于统计匹配行的数量而不输出具体行内容。...

    Sed与awk_中英文高清版

    8. 文件和I/O操作:了解Awk如何读取、写入和处理多个文件,以及标准输入输出的控制。 9. 实战案例:书中包含大量实际案例,涵盖了日志分析、数据转换、报告生成等多种应用场景。 通过阅读《Sed与Awk》的中英文高清...

    sed and awk 101 hacks.pdf

    - **打印多行模式中的第一行(命令P)和删除多行模式中的第一行(命令D)**:P用于打印多行模式空间中的第一行,而D用于删除并打印模式空间中的第一行。 - **循环和分支(命令b和:label标签)**:b命令用于无条件跳转到...

    awk实用手册

    awk的工作原理是基于行的处理,它会读取输入文件的一行一行,然后根据指定的模式(pattern)进行匹配,并执行相应的动作(action)。基本语法是`awk 'pattern {action}' file`。例如,`awk '/pattern/ {print $0}' ...

    awk学习资料最近整理的资料

    9. **文件操作**:awk可以打开和读取多个文件,使用`getline`命令逐行读取,或者在`BEGINFILE`和`ENDFILE`规则中处理文件。 10. **自定义函数**:用户可以定义自己的函数,提高代码的复用性和可读性。 11. **模式...

    sed&awk;手册

    - `-e`:添加多个编辑命令。 - `-i`:在原文件上进行编辑,不保留备份。 - `-f`:从文件中读取编辑指令。 **Sed/awk的特点** - **非交互式**:它们不需要用户进行交互操作,而是根据预设的规则进行操作。 - **文本...

Global site tag (gtag.js) - Google Analytics