grepとスペースを含むForループ

grepとスペースを含むForループ

forループとgrepを同時に使用しようとすると、空白に少し問題があるようです。たとえば、「k117_196509」ではなく「k117_19650」を一致させようとするため、スペースが重要です。どうぞよろしくお願いします!

for i in 'k117_19650 ' 'k117_460555 ';do
    grep -A1 $i final.contigs.fa >> gene.fa
done

ベストアンサー1

直面している問題は、シェル変数の使用に関連しています。特に、スペースなどの「非標準」文字を含む変数を使用する場合、常に変数を引用してください。これを使用する場合は、ここで議論を参照してください。

あなたの場合:

grep -A1 -- "$i" final.contigs.fa >> gene.fa

トリックを実行する必要があります(で始まる値を--避けるためにここに1つを追加してください)。$i-

おすすめ記事