歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 日常腳本二——重復數據刪除

日常腳本二——重復數據刪除

日期:2017/3/3 14:12:38   编辑:Linux技術

這個腳本是自己寫的用作刪除文件夾中重復文檔的腳本;

參考了網絡上的一個linux教程。

利用了相同文件的文件檢驗和相同的原理;

主要linux命令:

1、awk

2、tee

3、md5sum

4、comm

下面是腳本:

[code]#!/bin/bash
 ls -lS |awk 'BEGIN{ 
    getline;getline;
     name1=$9;size=$5
 }
 {
     name2=$9;
     if (size==$5)
     {
        command1="md5sum "name1;
         command2="md5sum "name2;
         command1 | getline s;csum1=$1;
         command2 | getline s;csum2=$1;
         if (csum1==csum2)
         {
             print name1;print name2;
         }
     };
     size=$5;name1=name2;

 }'|sort -u > duplicat_files
 cat duplicat_files |xargs -I {} md5sum {}|sort|uniq -w |awk '{print$2}'|sort -u > duplicat_sample

 echo Removing....
 comm duplicat_files duplicat_sample -2 -3|tee /dev/stderr | xargs rm

Copyright © Linux教程網 All Rights Reserved