bashでアンダースコアに文字列を分割し、要素を変数に抽出するには?

bashでアンダースコアに文字列を分割し、要素を変数に抽出するには?

次のような文字列があるとしますs=DNA128533_mutect2_filtered.vcf.gzDNA128533変数をIDにどのように抽出しますか?

頑張った

id=(cut -d_ -f1 <<< ${s}
echo $id

うまくいかないようです。いくつかのアドバイス?ありがとう

ベストアンサー1

組み込みコマンドが利用可能な場合は、カットなどを実行するためにシェルを起動する必要はありません。

s=DNA128533_mutect2_filtered.vcf.gz
id=${s%%_*}
echo $id
DNA128533

おすすめ記事