美文网首页
【awk】使用awk根据指定列去重

【awk】使用awk根据指定列去重

作者: Bogon | 来源:发表于2024-08-08 09:02 被阅读0次

file.txt中内容示例如下,文本中内容每行用英文逗号 "," 作为分隔符,如何根据第一列去重?

625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50b8
625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50af

你可以使用 awk 命令来根据第一列去重,并将结果保存到一个新的文件中。

以下是一个简单的 awk 命令来实现这个需求:

awk -F',' '!seen[$1]++' file.txt >   output.txt

这个命令的解释如下:

  • -F',':指定字段分隔符为逗号。
  • !seen[$1]++seen 是一个关联数组,用于记录已经出现过的第一列值。如果该值第一次出现,!seen[$1]++ 为真(即 !0),然后将这一行输出。
  • file.txt:输入文件名。
  • > output.txt:将去重后的结果输出到 output.txt 文件中。

这样,你就能得到一个按第一列去重后的结果文件 output.txt

file.txt中内容示例如下,文本中内容每行用英文逗号 "," 作为分隔符,需要筛选出同样行内容出现2次的?

625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50b8
625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50af
625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50b8
625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c12358
625784a12588e58d111c1f72c,6251e2b4d08ef5357a6c50b8
625784a8d134758d111c1f72c,6251e2b4d08ef5357a6c50af
cat  file.txt   | sort | uniq   -c | awk '{if($1==2) print $2}' 
$ cat  file.txt   | sort | uniq   -c
      1 625784a12588e58d111c1f72c,6251e2b4d08ef5357a6c50b8
      1 625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c12358
      1 625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50af
      2 625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50b8
      1 625784a8d134758d111c1f72c,6251e2b4d08ef5357a6c50af

$ cat  file.txt   | sort | uniq   -c | awk '{if($1==2) print $2}'
625784a8d08e58d111c1f72c,6251e2b4d08ef5357a6c50b8
echo  "AA,BB,CC,DD"  |  awk -F ","  '{ for(i=1;i<=NF;i++)   {print $i} }'  

相关文章

  • 【awk】笔记

    1.按照指定的列去除重复 awk '!a[$1]++' file awk ‘! a[$0]++’ 去重 上述命令的...

  • awk 命令使用方法

    1. awk 擅长功能 awk 擅长对列进行操作/进行数据信息的统计(数组) awk 基本使用(高级使用-shel...

  • awk小结

    awk 参考 AWK简明教程|coolshell 文本 输出第1列与第4列 格式化 过滤记录 内建变量 指定分隔符...

  • awk

    Linux System Environment awk功能 awk格式 awk 参数 一、awk截取列 二、显示...

  • 脚本 | Shell | awk直接根据列名处理数据框

    1. awk直接根据列名处理数据框 R中tidyverse处理数据框非常方便,可以根据列名操作相应的列。awk 总...

  • 2019-02-12 AWK常用用法(01):指定分隔符

    指定分隔符 使用 awk -F原始数据 按逗号分隔,取第一第三列 输出结果

  • 【awk】用awk去重

    展示第一列 根据第一列去重,并展示第一列 根据第一列去重,并展示所有列 打印你最常用的命令

  • Shell中使用awk按列求和

    参考:Shell中如何按列求和? 使用awk按列求和

  • awk的介绍和使用

    1 awk的介绍 2 awk 的变量 需要使用 -v 指定 3 控制语句 4 数组 5 内置函数

  • 二十二 awk命令

    一、awk和sed的区别 awk更像是脚本语言awk用于“比较规范”的文本处理,用于统计数量并输出指定字段使用se...

网友评论

      本文标题:【awk】使用awk根据指定列去重

      本文链接:https://www.haomeiwen.com/subject/khbckjtx.html