写一个删除目录相同文件的脚本

2019-03-11  本文已影响0人  youngxs

之前写过一个文章,关于网上找到的删除相同目录得脚本,也解释过该脚本的作用,以及他存在的一个缺陷。

于是,打算自己折腾一个脚本。介绍该脚本前,先大致说一下,我写的这个脚本的逻辑

1 查找该文件夹下得文件,然后通过md5sum生成密钥然后输出到指定的一个文件中例如a.txt

2.查看a.txt 通过uniq 找出不同得密钥文件,然后输出到 b.txt

3.比较 a.txt b.txt 找出相同的文件,接着输出到c.txt

4.通过查看c.txt 文件得大小来判断,是否有相同的文件,若有,则删除。若没有则输出:没有相同文件。

下面贴代码

脚本代码

 #!/bin/bash

  #删除文件夹下相同的文件

  find . -type f | xargs md5sum | sort > test.txt 

  cat test.txt | uniq -w 32 | sort > ceshi.txt 

  comm test.txt ceshi.txt -2 -3 | cut -c 35- | tr '\n' ' ' | tee > del.txt 

  size=$( wc -c del.txt | awk '{ print $1 }' ) 

   if [ $size -gt 0 ] ; then 

       cat del.txt | xargs rm

  else

        echo '没有相同的文件'

  fi

 rm -rf del.txt test.txt ceshi.txt 

上一篇下一篇

猜你喜欢

热点阅读