用shell脚本编写区别两个文件夹内文件的不同
2016-11-10 08:56
330 查看
#!/bin/bash basedir="./" workdir="/tmp" #定义两个目录,这两个目录下文件名应该都是相同的 dir1="test1" dir2="test2" #保存查找dir1目录的所有文件路径和名称 tempf1="$(mktemp -p $basedir)" #定义比较文件输出到的日志文件 diff_out="diff_between_${dir1}_and_${dir2}.log" #比较总是需要以一个目录为基准,这里假设以dir1目录为比较基准,这里是递归查找所有文件,并将结果保存到临时文件 find ${workdir}/$dir1 -type f >$tempf1 #判断如果目录中存在对比后的log,就改名 if [ -f "${diff_out}" ];then mv "${diff_out}" "${diff_out}-$(date +%H%M%S)" fi #如果查找dir1目录没有查找到任何文件就退出 if [ -z "$tempf1" ];then exit 1 fi #通过循环来比较dir1目录和dir2目录的文件 for myfile in $(cat $tempf1) do myfile2="$(echo $myfile | sed "s/${dir1}/${dir2}/")" if [ -f "$myfile2" ];then diff -u $myfile $myfile2 | tee -a "$diff_out" else echo "$myfile2 not exist!" fi done rm -f $tempf1
相关文章推荐
- 用shell脚本编写区别两个文件夹内文件的不同
- shell脚本查找两个文件夹下相同的文件名
- Java提取两个文件夹中的有差异的文件并生成相应的shell脚本
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
- shell 脚本实现统计文件夹下目录及文件个数
- shell时间,shell创建文件,linux shell编写以日期时间为文件名的脚本学习笔记 (转)
- Python编写shell脚本中常用的文件介绍
- 编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
- 查找目录下同名但不同后缀名文件的shell脚本代码
- 一个通过不同的文件扩展名来调用不同的解压程序的shell脚本
- 一个用于比较两个文件行中不同的Perl脚本
- 用Shell脚本来遍历文件夹里的所有文件
- 父shell和子shell的区别,在shell脚本中要cd一个文件夹为什么要用父shell运行
- shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹
- 在Linux中用source,dot(.)和直接用脚本文件名执行shell脚本的区别
- Linux_shell脚本_遍历文件夹下所有文件
- shell脚本实现查找目录下同名但不同后缀名的文件
- 使用shell 统计文本行数,输出两个文件不同或相同的行
- shell脚本---统计文件夹下文件类型信息