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

#!/bin/bash

#!当前文件夹下,删除内容相同的重复文件,只保留重复文件中的一个。

 

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=$2;

    if( csum1==csum2 )

    {

      print name1;print name2

    }   

  };

  szie=$5;name1=name2;

}' | sort -u > duplicate_files

 

cat duplicate_files | xargs -i md5sum {} | uniq -w 32 | awk '{ print $2 }' | sort -u > duplicate_sample

echo removing...

comm duplicate_files duplicate_sample -2 -3 | tee /dev/stderr | xargs rm -f

echo removed successfully

  

posted @ 2016-10-19 18:34  普朗克·李  阅读(2039)  评论(0编辑  收藏  举报