首页
学习
活动
专区
工具
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根据日期时间批量删除文件(删除N的文件)

一、使用find先查出来,然后执行删除1、find 部分参数说明-amin -n: 最后一次访问发生在 n分钟 之内-amin n: 最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟-amin...+n: 最后一次访问发生在 (n+1)分钟 之外-atime -n: 最后一次访问发生在 n天 之内-atime n: 最后一次访问发生在 n天 至 (n+1)天 -atime +n: 最后一次访问发生在...(n+1)天 之外-cmin -n: 最后一次文件状态修改发生在 n分钟 之内-cmin n: 最后一次文件状态修改发生在 n分钟 至 (n+1)分钟-cmin +n: 最后一次文件状态修改发生在...(n+1)天 之外2、使用 find 命令 先找到n天之外的文件(这里假设找到 3天的文件)在/www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array...天以前的所有类型的文件find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +33、将查找到的这些文件执行删除利用

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

linux删除文件的最后N小总结

现在,假设我们要从rumenz.txt文件中删除最后三 ( n=3 ) 。...sed命令及其地址范围,我们可以快速删除文件中从给定行号开始到最后一: sed 'GIVEN`LINE`NO, $d' input_file 例如,让我们从第5删除直到rumenz.txt的结尾...但是,如果我们可以颠倒输入文件中的顺序,问题就会变成从文件中删除 n 。一个简单的 sed 单行sed 1,n d可以删除n。之后,如果我们再次反转线条,我们的问题就解决了。...'1,3 d' | tac 1 rumenz.com 2 rumenz 3 入门 4 小站 5 入门小站 6 小站入门 7 门小 使用awk命令 该AWK命令是一个功能强大的文本处理工具...第一遍后,total变量保存了输入文件中的总行数 FNR==total-n+1{exit} 1:这是第二遍。如果FNR==total-n+1,则表示我们已经到达需要删除的第一,因此我们退出。

7.2K10

Linux自动清理N目录文件

Linux服务器每周会产生一次全局备份文件,大小约100G左右,需要定期清理。 工作时间网站访问大,服务器I/O高的时候删除大数据会对服务器状态产生不好的影响。于是想利用计划任务自动执行。...2013-12-30 -maxdepth 1:设置查找目录深度为1,只在/backup目录下查找,如不加此参数会将下级目录中的文件都列出 -type d:设置查找类型为目录 -mtime +28:查找28天的目录...rsync --delete-before -d /data/test/ {} \; 此处没有使用rm,原因是rsync在删除大量文件时比rm更具优势,具体原因请参考 《为什么rsync能够快速删除400000...提醒: 使用命令,应先在服务器上试用查找部分的命令,如只查找出要清理的目录,则可以继续。 不排除某些系统会将./目录查找出来,一定要看清楚,防止出现意外情况。...另外可将-exec替换为-ok,效果相同,在删除前提醒用户确认。

1.6K10

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

背景 打印对账文件最后一汇总信息,通过钉钉定时发送到运维群。顺便总结下 Linux 打印文本部分行内容的各种方法。...测试文本 # 生成测试文本内容 $ seq -f "%02g daodaotest" 1 10 > test.txt # 查看测试文本内容,并显示行号 $ cat -n test.txt 1...N 行内容 # head 打印 5 行内容 $ head -5 test.txt $ head -n 5 test.txt # sed 打印 5 行内容 $ sed -n '1,5p' test.txt...# awk 打印 5 行内容 $ awk 'NR<6' test.txt 打印指定行内容 # sed 打印第 5 行内容 $ sed -n '5p' test.txt # awk 打印第 5...i' test.txt ## m~np:m 表示起始行;~2 表示:步长 $ sed -n '1~2p' test.txt ## 先打印第 1 ,执行 n 命令读取当前行的下一,放到模式空间,后面再没有打印模式空间操作

12.6K32

技巧:文本超过N折叠内容并显示“...查看全部”

(比如3),不超过n正常显示;超过n则在最后一尾部显示“展开”或“查看全部”之类的按钮,点击按钮则展开显示全部内容,或者跳转到其它页面展示所有内容。...多行文本超过指定行数折叠 二、实现原理 纯CSS很难完美实现这个功能,所以还得借助JS来实现,实现思路大体相似,都是判断内容是否超过指定行数,超过则截取字符串的x个字符,然后然后和“...查看全部”拼接在一起...这个长度满足从x的位置截断字符串,前半部分+“...查看全部”等文字刚好不会超出指定行数N,但是多截取一个字,则会超出N。...最直观的想法就是直接遍历,让x从0开始增长到显示文本总长度,对于每个x值,都计算一次文字是否超过N,没超过则加继续遍历,超过则获得了合适的长度x - 1,跳出循环。...第一次先以文本长度为截取长度,计算是否超过N,没超过则停止计算;超过则取1/2长度进行截取,如果此时没超过N,则在1/2长度到文本长度之间继续二分查找,如果超过则在0到1/2文本长度中继续二分查找。

2.5K10

技巧:文本超过N折叠内容并显示“...查看全部”

(比如3),不超过n正常显示;超过n则在最后一尾部显示“展开”或“查看全部”之类的按钮,点击按钮则展开显示全部内容,或者跳转到其它页面展示所有内容。...多行文本超过指定行数折叠 二、实现原理 纯CSS很难完美实现这个功能,所以还得借助JS来实现,实现思路大体相似,都是判断内容是否超过指定行数,超过则截取字符串的x个字符,然后然后和“...查看全部”拼接在一起...这个长度满足从x的位置截断字符串,前半部分+“...查看全部”等文字刚好不会超出指定行数N,但是多截取一个字,则会超出N。...最直观的想法就是直接遍历,让x从0开始增长到显示文本总长度,对于每个x值,都计算一次文字是否超过N,没超过则加继续遍历,超过则获得了合适的长度x - 1,跳出循环。...第一次先以文本长度为截取长度,计算是否超过N,没超过则停止计算;超过则取1/2长度进行截取,如果此时没超过N,则在1/2长度到文本长度之间继续二分查找,如果超过则在0到1/2文本长度中继续二分查找。

2.1K20

Shell中如何删除文本比较长的的实现方法

Shell中如何删除文本比较长的的实现方法 有的时候需要对文件执行删除删除操作,这个时候比较常用的会使用vi命令中的dd命令,比如先执行10G(跳转到第10),然后再执行20dd(删除20),但实际情况未必是这么常规...,比如说,要删除文件中,某行长度超过200个字符的,如果文本比较小,还好,如果是几万,几十万行的呢?...假如说如下文本文件,要将其中长度为5字符以上的给删除掉。...@linux# cat data | awk '{if (length($0) <=4 ) print $0}' 1 22 333 4444 方法二: 使用grep命令 root@linux...# cat data | egrep -w '^.{1,4}' 1 22 333 4444 方法三: 使用sed命令 root@linux# cat data | sed -n '/^.\{

4.3K20

Linux自动删除n天前日志及实例命令

1.删除文件命令: find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30 -name..."*.log" -exec rm -rf {} \; 说明: 将/opt/soft/log/目录下所有30天带”.log”的文件删除。...具体参数说明如下: find:linux的查找命令,用户查找指定条件的文件; /opt/soft/log/:想要进行清理的任意目录; -mtime:标准语句写法; +30:查找30天的文件,这里用数字代表天数...; “*.log”:希望查找的数据类型,”*.jpg”表示查找扩展名为jpg的所有文件,”*”表示查找所有文件,这个可以灵活运用,举一反三; -exec:固定写法; rm -rf:强制删除文件,包括目录.../my_script 总结 以上所述是小编给大家介绍的Linux自动删除n天前日志,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

2K20
领券