嘿我有三个文件夹我想比较1和2中的文件是否重复。如果发现重复,我想将重复的文件移到3。有没有办法使用Shell脚本来实现这一点?我尝试过但没有成功的是在1和2上使用ls >file_names.txt来获得它们在文本文件中的文件名,这样我就可以比较文本文件中的重复记录。我在一个echo命令中获得了重复的列表,无法找出如何移动它们。
ls >file_names.txt
erhoui1w1#
如果file1包含folder1中的文件列表,file2包含folder2中的文件列表,则下面的代码将起作用
grep -f file1 file2 | while read line do mv folder1/$line folder3 rm -f folder2/$line done
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个文件)将保留在“全部”中
2条答案
按热度按时间erhoui1w1#
如果file1包含folder1中的文件列表,file2包含folder2中的文件列表,则下面的代码将起作用
deikduxw2#
个目录
all:所有文件(例如10个)
一些:一些文件(例如3)
输出
常见的文件将在一些。
不常见的文件(7个文件)将保留在“全部”中