我有一個文件夾中的許多文件:提取文件名的某些部分猛砸
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_$.mp4
yyyymmdd_hhmmss_$_suffix1.mp4
yyyymmdd_hhmmss_$_suffix1_suffix2.mp4
其中$是一個數字0〜 9
我試圖抓住「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'與預期所有這些字符都是數字的東西不匹配,例如,*可能是*您的實際格式。 –