有没有一种比较两个目录但忽略文件扩展名的快速方法? 我知道命令通常是:
diff dir1 dir2
但是在这种情况下,dir1中的apple.gif和dir2中的apple.png是两个区别。
有没有办法使apple.gif和apple.png被视为相同?
答案 0 :(得分:0)
您可以使用bash for loop将两个目录复制到/ tmp /中,而没有文件扩展名,然后在复制的目录上运行diff,最后删除临时目录,例如:
假设您有dir / 1和dir / 2,则要比较1和2。
#create all dirs and subdirs
cd dir;
for i in `find . -type d `;do mkdir /tmp/$i ;done
#copy all files without extension(remove string after last '.')
for i in `find . -type f `;do cp $i /tmp/`echo $i | rev | cut -d'.' -f 2- | rev` ;done
#run diff
diff /tmp/1 /tmp/2
#clean up ,remove created dirs
rm -rf /tmp/1 /tmp/2