我正在尝试将一个文件夹的内容与另一个文件夹的内容进行比较,我知道我可以使用
diff -rq folder1 folder2
但是:在文件夹1中,内容是名为word_12345.1.2的所有子文件夹,而文件夹2包含名为12345.1.2.physio的文件。我想要查看folder1中的哪些文件夹,我在第二个文件夹中有文件。如果我在folder1中有文件夹的文件,则folder1中的文件夹和folder2中的文件中的数字将匹配。
当我只使用diff -rq folder1 folder2
时,输出表明没有文件匹配,因为确切的名称不匹配。我正在努力把这些数据放在哪里让bash排队这些数字ID。
谢谢!
答案 0 :(得分:1)
您可以使用以下脚本:
#!/bin/bash
echo "Folders with a matching file:"
for folder in folder1/*
do
if [ -f "folder2/${folder#folder1/word_}.physio" ]
then
echo "${folder#folder1/}"
fi
done
,当在两个文件夹的父目录中执行时,会在folder1中列出文件夹中的匹配文件。
要执行脚本,请将代码保存为文本文件,例如matches_with_file.sh
,然后执行chmod u+x matches_with_file.sh
,并使用./matches_with_file.sh
进行调用。