shell 删除某个目录下的重复文件

#!/bin/bash
ls -lS | awk ‘BEGIN{
        getline;
        getline;
        name1=$9;size=$5;
}
{
        name2=$9;
        sizeTmp=$5;
        if(size==$5){
                "md5sum "name1 | getline; csum1=$1;
                "md5sum "name2 | getline; csum2=$1;
                if(csum1=csum2){
                        print name1;
                        print name2;
                }
        }
        size=sizeTmp;
        name1=name2;
}
‘ | sort -u > dup_file
cat dup_file | xargs -i md5sum {} | sort -u | uniq -w 32 | cut -d ‘ ‘ -f3 > dup_save;
comm ./dup_file ./dup_sample -2 -3 | xargs rm -f
时间: 2024-10-26 13:03:14

shell 删除某个目录下的重复文件的相关文章

删除一个目录下的所有文件,但保留一个指定文件

此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件

php删除指定目录下的相关文件实例

在php中删除文件最简单的办法直接使用unlink命令,但本文章介绍的是需要删除指定目录下的指定文件,所以我需要遍历删除了,具体看这个例子.  代码如下 复制代码 <?php //删除指定文件夹下的非法文件 function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendir($dir))         {             while(false !== ($file

linux面试题:删除一个目录下的所有文件,但保留一个指定文件

此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件 [[email protected] xx]# touch file{1..10} [[email protected] xx]# ls file1  file10  file2  file3  file4  file5  file6  file7  file8

C#直接删除指定目录下的所有文件及文件夹(保留目录)

? ????#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// <summary> /// 直接删除指定目录下的所有文件及文件夹(保留目录) /// </summary> /// <param name="strPath">文件夹路径</param> /// <returns>执行结果</returns> public bool DeleteDir(string strPath) { try

java 20 -3 递归之删除特定目录下的特定文件

1 /* 2 需求:删除H:\demo目录下的带内容的文件 3 分析: 4 A:封装该目录 5 B:获取该目录下所有的文件或文件夹的File数组 6 C:遍历该File数组,获取每一个File对象 7 D:判断所遍历的FIle对象 8 是否是文件夹 9 是:返回步骤B 10 不是:判断里面是否有内容 11 有:删除 12 不是:不理 13 B-D设为递归方法: 14 返回类型;void 15 参数列表:File xxx 16 出口:文件里面有内容 17 */ 18 package zl_DiGu

删除指定目录下的空文件夹

//删除制定目录下的所有空文件夹 //num=0 第一次遍历该文件夹 num=1 第二次遍历该文件夹 public static void ListDirectory(File file,int num)throws Exception { if(!file.exists()) { throw new IllegalArgumentException("目录"+file+"不存在"); } else if(!file.isDirectory()) { throw n

python删除指定目录下的指定文件和文件夹

具体代码: #coding:utf-8import os,sys,platformclass RemoveTagFile(object): path=None def removeFile(self,path,remove_list,retain_list): #path后面要跟/ self.path=path system_test=platform.system() if(system_test=='Windows'): path_last=self.path[-1] if(path_las

用shell查找某目录下的最大文件(转)

这是一个很有趣的问题,因为作为一个shell菜鸟,我第一时间是没有任何想法的.心里纳闷为什么这样的操作Linux居然没有直接的命令实现这样的查询. 很自然地,第一感觉就是用awk去实现,因为菜鸟我看awk看得傻了: ls -l | awk '/^[^d]/ {print $5,$9}' | sort -nr | head -1 明显ls查看完整的文件信息,过滤掉d开头的东东(目录),取出文件大小$5和名字$9两项,排序,取第一个 很自然问题就变的清晰,值得讨论的是怎么实现前面过滤出文件大小和名字

删除某个目录下的全部文件

def delete_file_in_dir(dir): if not os.path.exists(dir): return 1 try: for i in os.listdir(dir): path_way = os.path.join(dir,i) #如果是文件就删除 if os.path.isfile(path_way): os.remove(path_way) else: #如果是文件夹调用方法 delete_file_in_dir(path_way) else: #删除目录 os.r