centos 使用shell脚本查找并移动两个目录中的重复文件

zzzyeukh  于 2022-11-08  发布在  Shell
关注(0)|答案(2)|浏览(193)

嘿我有三个文件夹
我想比较1和2中的文件是否重复。如果发现重复,我想将重复的文件移到3。
有没有办法使用Shell脚本来实现这一点?
我尝试过但没有成功的是在1和2上使用ls >file_names.txt来获得它们在文本文件中的文件名,这样我就可以比较文本文件中的重复记录。我在一个echo命令中获得了重复的列表,无法找出如何移动它们。

erhoui1w

erhoui1w1#

如果file1包含folder1中的文件列表,file2包含folder2中的文件列表,则下面的代码将起作用

grep -f file1 file2 | while read line
do 
mv folder1/$line folder3
rm -f folder2/$line
done
deikduxw

deikduxw2#

个目录

all:所有文件(例如10个)
一些:一些文件(例如3)


# make sure you are in "all" directory

for file in ./*;
do
if test -f "../some/$file then
    rm $file
fi
done
输出

常见的文件将在一些。
不常见的文件(7个文件)将保留在“全部”中

相关问题