我需要查看两个文件夹,并找到部分文件名彼此匹配的文件。我使用两个“ for循环”来获取这两个文件夹中的所有文件名,然后使用“ if语句”来比较文件名。
文件名中应相互匹配的部分位于两个“ _”之间,例如:
Folder1-> 123_1100335_abcd_efg
Folder2-> 123_5500354_hijkl_mn001
首先,我使用“ cut -d'_'-f2”提取该部分并将其回显,然后通过输出获得以下信息:
1100335
5500354
但是,我无法在“ if语句”中使用它。
# !/bin/sh
for N in ./$InputFile_1/*
do
for lines in ./$InputFile_2/*
do
echo "$(basename $N)" | cut -d'_' -f2
echo "$(basename $lines)"| cut -d'_' -f2
if [ "$(basename $N)" | cut -d'_' -f2 = "$(basename $lines)"| cut -d'_' -f2 ]
then
echo "match"
fi
done
done