一行指令將 PNG 轉換成 WebP
指令
array=($(ls *.png)); for key in "${array[@]}"; do cwebp $key -o $key.webp; done && mv *.webp ./webp
解釋
array=($(ls *.png));
- 將 ls 的結果丟到 array 去
- 這個是比較不太好的做法,為什麼不太好這裡有解釋,主要是可能會遇到 ambiguous 的狀況
for key in "${array[@]}"; do cwebp $key -o $key.webp; done
${array[@]}
是把 array 的東西全部枚舉出來- 剩下就是 for-loop 和變數的寫法,全部丟給 cwebp 處理
&& mv *.webp ./webp
- 只是把轉換後的 WebP 檔案丟到另外一個資料夾
備註
- 需要安裝 libwebp,請洽各大 Linux 發行版確定有沒有這套 library
- Array 的寫法為 bash,確定最原始的 sh 是不支援的,zsh 應該支援但沒測試過,其他 shell 也沒測試過
No Comments