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
#comm命令也可以
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文件,有可能出现编码问题造成文件名后缀出现?等乱码情况。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM