#!/bin/bash

#查找并删除重复文件,每个文件只保留1份

ls -LS --time-style=long-iso | awk 'BEGIN {

getline; getline;

name1=$8; size=$5

}

{

name2=$8

if(size==$5)

{

"md5sum "name1| getline;csum1=$1;

"md5sum "name2 | getline; csum2=$1;

if ( csum1==csum2 )

{

print name1; print name2

}

};

size=$5;name1=name2;

}' | sort -u > duplicate_files

cat duplicate_files | xargs -I {} md5sum {} | \

sort | uniq -w 32 | awk '{ print $2 }' | \

sort -u > unique_files

echo Removing..

comm duplicate_files unique_files -3 | tee /dev/stderr | \

xargs rm

echo Removed duplicates files successfully.

脚本执行: bash 文件

chmod 755 文件

$ ./文件

awk删除重复文件的更多相关文章

  1. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  2. Linux系统中查找、删除重复文件,释放磁盘空间。

    在Linux系操作系统中查找并删除重复文件的方法的确有很多,不过这里介绍的是一款非常简单实用的软件FSlint.FSlint是一个重复文件查找工具,可以使用它来清除不必要的重复文件,笔者经常使用它来释 ...

  3. python 删除重复文件 附源代码

    啥也不说了,直接上源码 #! /usr/bin/env python #coding=utf-8 import os import md5 import time def getmd5( filena ...

  4. python-----利用filecmp删除重复文件

    以下代码素材自取:链接:https://pan.baidu.com/s/1fL17RjKyGjpvpeeUFONCaQ  提取码:zgiw # coding:utf-8 import os impor ...

  5. 在 Linux 中查找和删除重复文件

    原文链接:https://www.linuxprobe.com/linux-FSlint.html FSlint同时具有GUI和CLI模式.因此,对于新手来说,这是一个用户友好的工具.FSlint不仅 ...

  6. shell 删除重复文件脚本

    摘自 <Linux Shell脚本攻略>一书,例子在109页,原理在110页,原理讲解的很好哦! 需要了解awk命令.xargs,脚本中所用的命令在Linux Shell脚本攻略一书中都有 ...

  7. 如何用Python寻找重复文件并删除

    在实际生活中,经常会有文件重复的困扰,即同一个文件可能既在A目录中,又在B目录中,更可恶的是,即便是同一个文件,文件名可能还不一样.在文件较少的情况下,该类情况还比较容易处理,最不济就是one by ...

  8. shell脚本之删除内容相同的重复文件

    #!/bin/bash #!当前文件夹下,删除内容相同的重复文件,只保留重复文件中的一个. ls -lS --time-style=long-iso | awk 'BEGIN{ getline;get ...

  9. awk删除文件第一列

    awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' file sort -R fil ...

随机推荐

  1. iOS 类方法 、野指针与空指针

    一.类方法: 不依赖于对象,执行效率更高; 能用类方法解决的问题,尽量使用类方法; 类方法中不能直接访问实例变量(成员变量) 二.野指针和空指针是什么?什么时候产生?怎么避免? 只要一个对象被释放了, ...

  2. Java基础系列--06_抽象类与接口概述

    抽象类 (1)如果多个类中存在相同的方法声明,而方法体不一样,我们就可以只提取方法声明. 如果一个方法只有方法声明,没有方法体,那么这个方法必须用抽象修饰. 而一个类中如果有抽象方法,这个类必须定义为 ...

  3. 分享两个细致、全面讲解Vue和React源码的链接

    Vue: 1.http://hcysun.me/vue-design/ 2.https://ustbhuangyi.github.io/vue-analysis/(带视频,但收费) React: 3. ...

  4. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  5. Jenkins + Ansible + Gitlab之gitlab篇

    前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible  课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 ...

  6. Windows rundll32的用法-批处理管理打印机

    用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile] /a[file] 二进制文件名 /b[name] 基本打印机名 /c[na ...

  7. Mint-ui 脱坑日记

    Field表单组件 这个组件真是大坑特坑 带默认背景边框 找了半天才找到 原生属性 :attr="{ maxlength:10 }" 是可以设置原生属性的 注意此处限制的输入长度 ...

  8. plus.webview更新上一个页面的信息

    let currentWebview = plus.webview.currentWebview();       let backWebview = currentWebview.opener(); ...

  9. 【python 字符串】 字符串的相关方法(三)

    # 将字符串中的每个元素,按照指定分隔符进行拼接 # 空格 .# ._ 等等 不能是反斜杠 test = '你是风儿我是沙' ret = '#'.join(test) print(ret) 你#是#风 ...

  10. codeforces8A

    Train and Peter CodeForces - 8A Peter likes to travel by train. He likes it so much that on the trai ...