を失敗した私は、名前(* fastq.gz.fasta-BLASTDB)のファイル名を含むファイル(* fastq.gz.fasta)とディレクトリ、持っている:バッシュ(スプリット)ファイル名の比較は私のディレクトリで
IVC6_Meino.clust.gz.fasta-blastdb
IVC5_Mehiv.clust.gz.fasta-blastdb
....
IVC6_Meino.clust.gz.fasta
IVC5_Mehiv.clust.gz.fasta
....
を
bashスクリプトでは、後者のcutオプションを使ってファイル名とディレクトリ名を比較し、ファイル名部分のみを抽出したいと考えています。これらの2つの名前が一致すれば、私はさらなるものをしたい(それぞれエコーマッチまたはマッチなし)。 私は、次のコード書かれている:
#!/bin/bash
for file in *.fasta
do
for db in *-blastdb
do
echo $file, $db | cut -d '-' -f 1
if [[ $file = "$db | cut -d '-' -f 1" ]]; then
echo "match"
else
echo "no match"
fi
done
done
をしかし、それはマッチを検出しません。出力は次のようになります。
...
IVC6_Meino.clust.gz.fasta, IIIA11_Meova.clust.gz.fasta
no match
IVC6_Meino.clust.gz.fasta, IVC5_Mehiv.clust.gz.fasta
no match
IVC6_Meino.clust.gz.fasta, IVC6_Meino.clust.gz.fasta
no match
あなたが見ることができるように最後の行は、文字列が同じように見え、試合をお読みください。 私は何が欠けていますか?