在 for loop(cat, awk) 中组合文件名

Combining filename in for loop(cat, awk)

在我的代码中,我想给出一个将旧文件名组合在一起的新文件的名称。这怎么不适用于基本名称?知道我该怎么做吗?

for i in /dir/*; do
   for j in /dir/*; do
        filename=$(basename "$i")
        filename2=$(basename "$j")
           if   grep -q E "$i" ; 
             then cat "$i" "$j" > /Path/"$filename" "$filename2".fasta
           fi
done

完成

... > "/Path/${filename}${filename2}.fasta"