指定された区切り文字でファイル名を分割する方法

指定された区切り文字でファイル名を分割する方法

データを抽出するファイル名は約200個あります。形式は次のとおりです。 filename(120516.1108).mp3 "(" 前部分と "." 前部分を取り出そうとします。) すべてのファイルがこの形式を持つわけではないため、追加の問題があります。

出力は「filename」「120516」でなければなりません。

可能であれば、bashでこれを行いたいと思います。私はまだ学んでおり、bashの経験はほとんどありません。すべての説明とコードを歓迎します。

ベストアンサー1

「bashから」、例:

re='^(.*)\(([0-9]+)\.[0-9]+\).*$'

それから

for f in *.mp3; do 
  [[ $f =~ $re ]] && printf '"%s" "%s"\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}"
done

おすすめ記事