Bashスクリプトからファイル名部分を分離する

Bashスクリプトからファイル名部分を分離する

としてフォーマットされたファイルがある場合は、それを合計./AAAA_AAAA_00_00_AAA-22222.txtに分割するにはどうすればよいですか?AAAA_AAAA_00_00_AAA22222

ベストアンサー1

$ filename=./AAAA_AAAA_00_00_AAA-22222.log
$ filename=$(basename "$filename" .log) # remove `./` and `.log`
$ echo "${filename}"
AAAA_AAAA_00_00_AAA-22222
$ echo "${filename%%-*}"
AAAA_AAAA_00_00_AAA
$ echo "${filename##*-}"
22222
  • ${parameter##word}最長プレフィックスパターンの削除
  • ${parameter%%word}最長のサフィックスパターンの削除

バラよりシェルパラメータ拡張(バッシュマニュアル)

おすすめ記事