にファイル名の特定の部分を抽出し、私は、フォルダ内の多くのファイルを持っている:バッシュ
yyyymmdd_hhmmss.mp4
yyyymmdd_hhmmss_suffix1.mp4
yyyymmdd_hhmmss_suffix1_suffix2.mp4
次のファイル名の形式は、(まれ)も可能です:$は数0-ある
yyyymmdd_hhmmss_$$$.mp4
yyyymmdd_hhmmss_$$$_suffix1.mp4
yyyymmdd_hhmmss_$$$_suffix1_suffix2.mp4
yyyymmdd_hhmmss_$$.mp4
yyyymmdd_hhmmss_$$_suffix1.mp4
yyyymmdd_hhmmss_$$_suffix1_suffix2.mp4
yyyymmdd_hhmmss_$.mp4
yyyymmdd_hhmmss_$_suffix1.mp4
yyyymmdd_hhmmss_$_suffix1_suffix2.mp4
"yyyymmdd_hhmmss"をキャッチして引数として使用しようとしています。
for file in "[email protected]"; do
file_nosuffix="${file%*_suffix1.mp4}.mp4"
echo "$file and $file_nosuffix"
done
しかし、上記のファイル名の形式のすべての種類が提示されているとき、私は迷子: これが唯一の接尾辞が提示したときに、私は何をすべきかです。 理想的には私は、現在のパターンに固執したいと思います:
が可能ということですか?
最初の15文字を変数に保存してみませんか? – Kathara
'for file'はデフォルトで' '$ @" 'を反復します。 –
また、人を説明するものではありますが、実際のテストには使用できないものではなく、実際に指定されたフォーマットに一致するテストデータを提供すると便利です。 'yyyymmdd_hhmmss'はすべての文字が数字であることを期待するものとは一致しません。例えば、*あなたの実際のフォーマットでしょう。 –