比较两个文件夹中的文件
时间:2006-04-12 来源:ruiqingzheng
晚上回答论坛里个 问题 , 觉得有点作用 记录一下
问题:
请问如何用diff和实现如下功能,我试了下,不好用!
我在home/aa 目录下操作,aa目录下有许多文件譬如a,b,c...,同样在home/bb目录下,也有可能有a,b,c....文件,我想判断下aa目录下a文件是否在home/bb下存在,如果存在,删掉home/aa下的该文件,并把home/aa下被删掉的文件名保存到一个txt文件中
我在home/aa 目录下操作,aa目录下有许多文件譬如a,b,c...,同样在home/bb目录下,也有可能有a,b,c....文件,我想判断下aa目录下a文件是否在home/bb下存在,如果存在,删掉home/aa下的该文件,并把home/aa下被删掉的文件名保存到一个txt文件中
#!/bin/bash ls aa > a.txt ls bb > b.txt # print the files only in aa , and save the file name to arrary only_in_aa only_in_aa=(`diff -P aa bb | awk '{print $NF}'`) str=`echo ${only_in_aa[@]} | tr ' ' '|'` # print the files in aa same with in bb cat a.txt | grep -Ev "$str" > same_with_bb # if you want to delete the files in aa same with bb for i in `cat a.txt | grep -Ev "$str"` do rm -f ./aa/$i done |
相关阅读 更多 +