linux对比两个文件的差异

在项目维护阶段,经常会对垃圾文件进行清理。比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了;废话不多说直接上代码:

1.首先准备好从数据表导出来的数据,方法随意

2.在服务器查看指定目录下所有文件的文件名,并生成文件   

  ls *.* >***.txt

3.对比两个文件的文件内容不同的部分,并且删除 

#!/bin/sh
#BEGIN
cat test1.txt | sort | uniq | sort > a_u.txt
cat test2.txt | sort | uniq | sort > b_u.txt
diff a_u.txt  b_u.txt > c.txt
for x in  ` awk '{print $2}' c.txt `
{
        rm -rf $x;
}
#echo filename
# END

此刻 大功告成!!!

注意:请不要在window下边界shell文件,有可能出现编码问题造成文件名后缀出现?等乱码情况。

猜你喜欢

转载自www.cnblogs.com/hhwww/p/10824607.html