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

Rdfind - 在Linux中查找重复文件

背景 前段时间遇到一个问题,服务器下面一个文件夹下面的图片越来越多,由原来的5G,达到了现在的94G,其中这个文件夹下面有好多重复的图片,文件多了之后造成图片备份困难,图片迁移困难,浪费了大量的空间和IO...在本文中将介绍rdfind命令工具在linux中查找和删除重复的文件,使用之前请先在测试环境跑通并对测试环境进行严格的测试,测试通过之后再在生产环境进行操作,以免造成重要文件的丢失,数据是无价的。...Rdfind来自冗余数据查找,用于在多个目录或者多个文件中查找重复的文件,它使用校对和并根据文件查找重复项不仅包含名称。 Rdfind使用算法对文件进行分类,并检测那些是重复文件,那些是文件副本。...root@ds Image]# drfind /Image/ [root@ds Image]# Rdfind 命令将扫描 /Image 目录,并将结果存储到当前工作目录下一个名为 results.txt 的文件中...你可以在 results.txt 文件中看到可能是重复文件的名字。 通过检查 results.txt 文件,你可以很容易的找到那些重复文件。如果愿意你可以手动的删除它们。

5.3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试算法:在海量数据中快速查找第k小的条目

    假设从服务器上产生的数据条目数为n,这个值是事先不知道的,唯一确定的是这个值非常大,假定项目需要快速从这n条数据中查找第k小的条目,其中k的值是事先能确定的,请你设计一个设计一个满足需求并且兼顾时间和空间效率的算法...其次是数据条目数n相当大,如果直接根据n来分配内存会产生巨大的损耗,第三是速度要足够快,但要在海量级数据中实现快速查找不是一件容易的事情。 解决这道题的关键在于选取合适的数据结构。...,也就是堆中节点最大值在根节点。...由于我们要从事先不知道的n个元素中,查找到第k小的元素,其中k的值是确定的,那么我们可以构造一个含有k个元素的大堆,当有新的元素过来时,我们从大堆的根节点获得最大值,如果新来元素的值比根节点值小,那么我们将根节点从堆中去掉...array来模拟题目中的海量数据条目,因此n=30,我们想从30个未知数值中找到第17小的数,于是在代码中又构造了一个只包含17个元素的大堆。

    1.4K40

    Excel实战技巧55: 在包含重复值的列表中查找指定数据最后出现的数据

    文章详情:excelperfect 本文的题目比较拗口,用一个示例来说明,如下图1所示,是一个记录员工值班日期的表,在安排每天的值班时,需要查看员工最近一次值班的日期,以免值班时间隔得太近。...A2:A10中的值,如果相同返回TRUE,不相同则返回FALSE,得到一个由TRUE和FALSE组成的数组,然后与A2:A10所在的行号组成的数组相乘,得到一个由行号和0组成的数组,MAX函数获取这个数组的最大值...,也就是与单元格D2中的值相同的数据在A2:A10中的最后一个位置,减去1是因为查找的是B2:B10中的值,是从第2行开始的,得到要查找的值在B2:B10中的位置,然后INDEX函数获取相应的值。...组成的数组,由于这个数组中找不到2,LOOKUP函数在数组中一直查找,直至最后一个比2小的最大值,也就是数组中的最后一个1,返回B2:B10中对应的值,也就是要查找的数据在列表中最后的值。...图3 使用VBA自定义函数 在VBE中输入下面的代码: Function LookupLastItem(LookupValue AsString, _ LookupRange As Range,

    10.9K20

    查找数组中重复的数字

    题目来源于《剑指Offer》中的面试题3:找出数组中重复的数字。   // 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。...数组中某些数字是重复的,但不知道有几个数字重复了,   // 也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。...此处介绍自己的一个做法,以空间换时间,通过新建数组来实现快速查找,具体做法是新建长度为length的数组newArray,初始化值为-1;将numbers数组的值依次作为newArray的下标和对应的值为...: (输出) 数组中的一个重复的数字 // 返回值: // true - 输入有效,并且数组中存在重复的数字 // false - 输入无效,或者数组中没有重复的数字...numbers, sizeof(numbers) / sizeof(int), duplications, sizeof(duplications) / sizeof(int), true); } // 数组中存在多个重复的数字

    4K60

    在系统中查找重复文件(哈希)

    题目 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。 一组重复的文件至少包括二个具有完全相同内容的文件。...输入列表中的单个目录信息字符串的格式如下: "root/d1/d2/......该输出是重复文件路径组的列表。 对于每个组,它包含具有相同内容的文件的所有文件路径。...您可以假设目录名、文件名和文件内容只有字母和数字,并且文件内容的长度在 [1,50] 的范围内。 给定的文件数量在 [1,20000] 个范围内。...您可以假设在同一目录中没有任何文件或目录共享相同的名称。 您可以假设每个给定的目录信息代表一个唯一的目录。目录路径和文件信息用一个空格分隔。

    1.5K10

    在Java中如何高效判断数组中是否包含某个元素

    这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。...在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的。本文将分析几种常见用法及其时间成本。...查找有序数组中是否包含某个值的用法如下: public static boolean useArraysBinarySearch(String[] arr, String targetValue) {...基本思想就是从数组中查找某个值,数组的大小分别是5、1k、10k。这种方法得到的结果可能并不精确,但是是最简单清晰的方式。...,他判断一个元素是否包含在数组中其实也是使用循环判断的方式。

    5.2K10

    【Java】Java流中的API

    流可用于以声明方式执行操作,类似于对数据的类似 SQL 的操作 关键概念: 流:支持顺序和并行聚合操作的元素序列 中间操作:返回另一个流且延迟的操作(例如,filter、map) 码头运营:产生结果或副作用且不懒惰的操作...Collectors.toList()); names.forEach(System.out::println); } } 收集:收集将流的元素收集到集合或其他数据结构中...System.out.println("Total Age: " + totalAge); } } 平面映射 :FlatMapping 将嵌套结构展平到单个流中...: 查找和匹配操作检查流的元素,看看它们是否与给定的谓词匹配 查找和匹配:根据条件检查元素。 统计学:执行统计操作。 了解这些功能将帮助您编写更简洁、更简洁、更易读的代码。

    10110

    Java中的字符流

    零、前言 1.字符流只能操作文本 2.本质底层依然是使用字节操作,只不过坐了一层封装 3.字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,对多国语言支持性比较好...//2.写入数据 fileWriter.write("Line1 第一行\r\n"); //3.刷新流中的缓冲 fileWriter.flush(); fileWriter.write...FileWriter.png ---- 2.字符流之FileReader的使用 注:为了简单起见,将FileWriter.txt中的Line2 第二行删除 public class Client...//2.写入数据 bfw.write("Line1 第一行"); bfw.newLine();//换行 BufferedWriter特有方法,可区分不同平台换行 //3.刷新流中的缓冲...中的字符流 V0.2--无 - - 2.更多关于我 笔名 QQ 微信 爱好 张风捷特烈 1981462002 zdl1994328 语言 我的github 我的简书 我的CSDN 个人网站 3.声明

    94520

    在 HTML 中包含资源的新思路

    只要我一直工作在 Web 上,就需要一种简单的 HTML 驱动方式,将另一个文件的内容直接包含在页面中。...然后我想,假设浏览器允许我在父文档中检索 iframe 的内容,也许一个旧的 iframe 可能是一个很不错的模式。事实证明,它肯定会的!...这是因为代码用 iframe 加载文件,并且在删除 iframe之前,用 onload 事件在 HTML 中 iframe 的位置之前注入了 iframe 里的内容。...值得注意的是,如果你要导入包含多个元素的 HTML 文件,我建议将其全部包装在 div 中,以使 iframe 标记能够简单地查找 body中的第一个子节点。...与服务器端嵌入不同,此模式允许我们包含外部文件,同时允许自然缓存文件以供日后重用。(使用服务器端包含的内容,在客户端缓存是可能的,但难以做到)。

    3.2K30

    java中的IO流

    IO流 1、File类 1.1 获取文件或目录信息 1.2 操作文件 1.3 操作目录 1.4 案例:递归列出目录的下一级 1.5 案例:递归列出目录下的所有Java源文件 2、IO流的分类和设计...,则结果是不确定的 如果new的File对象所表示的文件或目录并不存在,那么并不会应位new了一个File对象,操作系统就在对应的路径下创建所对应的文件和目录,它仅仅是在JVM的堆中new了一个File...程序中new了一个File对象,仅仅是在JVM的堆中创建了一个实例对象,并不会导致操作系统在对应路径下创建一个文件。...2.5 复制文件提升效率版 java.io包提供了Buffered系列的缓冲流,可以在独写数据时提升效率;Buffered系列的IO流只能给对应类型的IO流增加缓冲功能。...,而缓冲区在JVM内存中,这样就减少了JVM内存与外接设备的交互次数,从而可以提高读写效率。

    1.2K10

    C++ 在无序字符串中查找所有重复的字符【两种方法】

    参考链接: C++程序,找出一个字符的ASCII值 C++ 在无序字符串中查找所有重复的字符   Example:给定字符串“ABCDBGAC”,打印“A B C”  #include <iostream...    string s = a;     for (int i = 0; i < s.size() - 1; i++)     {         if (s[i] == '#') //判断i指针的指向是否为输出过的字符...            continue;         int m = 1; //判断j指针的指向是否为输出过的字符         for (int j = i + 1; j <= s.size...                if (m == 1)                     cout << s[i] << " ";                 s[j] = '#'; //对输出过的字符做标记...                m = 0;      //对输出过的字符做标记             }         }     } } void PrintIterateChar2(const

    3.9K30

    Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){...class FileInputStream extends InputStream 从文件系统中的某个文件中获取输入字节 如果要读取字符流,就要用FileReader....,将流中缓冲区的数据刷新到目的地,刷新后的流可以使用 public abstract void flush() throws IOException close为关闭此流,关闭流之前要先刷新,关闭资源用的...,在关闭前会将缓冲区里的数据刷新到目的地,然后在关闭流,关闭了就不可以在使用了. public void close(){ flush(); } // 简书作者:达叔小生 public abstract...缓冲区是给流的 java.io 类 BufferedReader java.lang.Object -> java.io.Reader -> java.io.BufferedReader 从字符输入流中读取文本

    84720

    java中的字符和流

    在计算机中,我们知道,所有的一切都是归根到底都是二进制的字节形式,包括文件,字符串等等。所以在写程序的时候,尝尝需要和字节打交道。...例如:我们需要把一个字符串写入到文本文件中,我们就需要借助字节这个中间的单位来进行处理。...流是什么? 从上面的代码中,我们可以看到,有一个 FileInputStream ,FileOutputStream这两个流的对象,对于这个对象我们怎么理解?...流是一个字节转移的介质,如同用吸管喝水,水是字节的集合的文件,吸管就是流。 输入流:顾名思义,就是从外界到程序中的介质。 输出流:对外界进行输出的介质 java 中常用的输入流和输出流: ?...字符流 什么是字符流?用什么用? 还是用喝水来说,我们怎么获得吸管里面水的属性?我们比如获得吸管中某一段水的重量怎么获得? 字符流是流的一种工具,是能够获得流中的单个字节单位的工具。

    80020

    java读取输入字符串的操作过程_java查找字符串中重复字符

    读取输入字符串的方法: 通过Scanner类读取字符串的方法next()和nextLine() import java.util.*; public class Main{ public...、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。...nextLine():结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。...通过BufferReader类读取字符串 import java.io.*; public class Main{ public static void main(String []args) throws...System.in); String a = scanner.nextLine(); char str[] = a.toCharArray(); } } 字符数组转化字符串 import java.io

    1K40
    领券