美文网首页
写一个删除目录相同文件的脚本

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

作者: youngxs | 来源:发表于2019-03-11 11:27 被阅读0次

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

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

    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 

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/fayvpqtx.html