shell中的for迴圈遍歷目錄
阿新 • • 發佈:2018-12-07
1 目錄結構說明
- a. 檔名 convert_video_to_images.sh
- b. /User/document/list目錄下有A1目錄
- c. A1目錄下有檔案v_Skiing_g01_c01.avi、v_Skiing_g01_c02.avi、v_Skijet_g01_c02.avi、v_Skijet_g01_c03.avi
2 測試程式碼
for folder in $1/* do echo $folder echo "*********************" for file in "$folder"/*.avi do if [[ ! -d "${file[@]%.avi}" ]]; then echo "-----------------" echo ${file[@]%.avi} #mkdir -p "${file[@]%.avi}" fi #ffmpeg -i "$file" -vf fps=$2 "${file[@]%.avi}"/%05d.jpg done done
3 說明與註解
- 在終端輸入(sudo) ./convert_video_to_images.sh /Users/document/list
- 使用(sudo) ./convert_video_to_images.sh ./list 失敗,指令碼不支援相對路徑
- 輸出如下,[@]%具有萬用字元功能
/Users/document/list/A1 ********************* ----------------- /Users/document/list/A1/v_Skiing_g01_c01 ----------------- /Users/document/list/A1/v_Skiing_g01_c02 ----------------- /Users/document/list/A1/v_Skijet_g01_c02 ----------------- /Users/document/list/A1/v_Skijet_g01_c03
4 拓展應用
- 將#註釋部分去掉,安裝ffmpeg庫,在終端輸入(sudo) ./convert_video_to_images.sh /Users/document/list 5
- ffmpeg庫使用,使用命令ffmpeg --help檢視