首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 删除文本中的重复

在进行文本处理的时候,我们经常遇到要删除重复的情况。那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的。...shell> sort -k2n file | uniq 这里我做了个简单的测试,当file中的重复不再一起的时候,uniq将服务删除所有的重复。...经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复。 第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。...P; D' 最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了...参考推荐: 删除文本中的重复(sort+uniq/awk/sed)

8.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 打印文本部分行内容(前几行,指定,中间几行,跨行,奇偶,后几行,最后一,匹配

背景 打印对账文件最后一汇总信息,通过钉钉定时发送到运维群。顺便总结下 Linux 打印文本部分行内容的各种方法。...测试文本 # 生成测试文本内容 $ seq -f "%02g daodaotest" 1 10 > test.txt # 查看测试文本内容,并显示行号 $ cat -n test.txt 1...## 读取 2 记录,进行模式匹配:i=!1(因为上次 i 的值由 0 变成了 1),条件为假不打印。 ## 读取 3 记录,因为上次条件为假,i 恢复初值为 0,继续打印。...i' test.txt ## m~np:m 表示起始行;~2 表示:步长 $ sed -n '1~2p' test.txt ## 先打印 1 ,执行 n 命令读取当前行的下一,放到模式空间,后面再没有打印模式空间操作...,所以只保存不打印,同等方式继续打印 3

12.6K32

跟萌老师学Linux的第三天

grep:一种强大的文本搜索工具,它能使用正则表达式匹配模式搜索文本,并把匹配的打印出来 -w:word 精确查找某个关键词 pattern -c:统计匹配成功的的数量 -v:反向选择,即输出没有没有匹配的...常见 'script' address : 2 ∶ 2 2,4 ∶ 2 4 2,$ ∶ 2 到最后一,$ 表示最后 2~3 ∶从 2 开始,每隔 3 2、5、8 2...,+4 ∶从 2 到 2+4 /pattern/ :匹配上 pattern 的 [!]...$0 代表整个文本行; $1 代表文本行中的1个数据字段; …… $NF 代表文本行中的最后一个数据字段 awk 默认的字段分隔符是任意空白字符(如:空格 or 制表符),也可以用 -F 参数自定义分隔符...) int(x) x的整数部分,靠近零一侧的值 log(x) x的自然对数 Linux常见符号及其含义 图片

1.1K10

Linux 三剑客之awk

目录 Linux 三剑客之awk 简介 应用场景 awk执行流程图 awk生命周期 awk内置(预定义)变量 与列描述 列 awk中的函数 条件的分类 awk正则详细: 普通正则和awk正则区别...范围表达式 逻辑表达式 算术表达式 特殊模式BEGIN{}和END{} awk数组 awk 的 判断、循环 if循环 循环 总体练习 易错点: Linux 三剑客之awk 简介 awk主要是用来格式化文本...,直至处理完成 # 生命周期如下: 接收一作为输入 把刚刚读入进来得到文本进行分解 使用处理规则处理文本 输入一,赋值给$0,直至处理完成($0代表当前行的内容) 把处理完成之后的所有的数据交给...record 每一结尾默认通过回车分隔 列 记录字段/域field 列与列默认以空格分隔,可以指定分隔符 awk字符 描述 NR==1 取出1 NR>=1&&NR<=5 取出1到5...:x:3:4:adm:/var/adm:adm /sbin/nologin:x:4:7:lp:/var/spool/lpd:lp 案例4:列实现了文本内容“指哪打哪”,列 # 精确

61210

Linux文本处理详细教程

文本处理 本节将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是常用的;...x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped $...cut 的范围 N- N个字段到结尾-M 1个字段为MN-M N到M个字段 cut 的单位 -b 以字节为单位-c 以字符为单位-f 以字段为单位(使用定界符) 示例:.../' #包含linux文本(可以用正则表达式来指定,超级强大) awk '!.../linux/' #不包含linux文本 设置定界符 使用-F来设置定界符(默认为空格): awk -F: '{print $NF}' /etc/passwd 读取命令输出 使用getline,将外部

4.2K20

Linux文本处理三剑客

awk、sed、grep是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。...三者的功能都是处理文本,但侧重点各不相同,grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。...,主要用于文本内容的编辑,默认只处理模式空间,不改变原数据 sed基本用法 1、-n 参数 1.1 显示单行 sed -n '4p' test.txt 显示文件的4。...4、替换匹配的关键字 sed '2s/a/A/g' test.txt 将文件的2的所有 a 字符全部替换为A字符。...6、-i.bak参数 sed -i.bak '4d' test.txt 删除源文件的4,并且备份一份未被修改的源文件‘.bak’。

4.6K50

生信入门必须掌握的 30 个 Linux 命令

ln -s /ifs1/Example ./ #为 /ifs1/Example 目录在当前目录下创建一个快捷方式 9. vim vim 是 Linux 系统自带的文本编辑器,可以理解成为 windows...$ less -S nt.tar.gz 13. head / tail 这两个命令比较简单,只是一个文件的头部和尾部多少,默认 10 ,可以加-n进行设置,利用管道可以文件中间。...#文件 21~40 $ head -40 a.txt | tail -n 14. g(un)zip/ b(un)zip2 gzip和bzip2是文件压缩工具,默认直接对源文件进行处理,压缩比率在...列大于10列的。...因为当文件越来越多的时候,由于 Linux文本界面,不方便可视化文件,这个时候就可以利用find快速找到需要的文件。find支持多种搜索方式。

2.4K40

Linux学习----文本三剑客——sed(马哥教育原创)

Linux文本文件中文本存储都是一,显示时表现的多行其实都是因为有换行符的存在,例如:文本是:abc$def$ghi 显示出来就是三了。...Sed就是一个编辑器,它一次读一文本进行操作,然后根据我们的选择看是否同步到文本之中。...还有一个叫awk的,在Linux上叫做gawk(gnu awk),它是一个文本格式化工具,我们下一篇文章再说。...在Linux文本文件中文本存储都是一,显示时表现的多行其实都是因为有换行符的存在,例如:文本是:abc$def$ghi 显示出来就是三了。...还有一个叫awk的,在Linux上叫做gawk(gnu awk),它是一个文本格式化工具,我们下一篇文章再说。

1.4K30
领券