Iată textul gata de copiat în Discourse:
Comandă care convertește imaginile JPG și HEIC în WebP, șterge originalele și șterge fișierele MOV.
Cerințe
imagemagick(cu suport libheif pentru HEIC)- Pe Ubuntu/Debian:
sudo apt install imagemagick libheif1
One-liner
Rulează din directorul cu fișierele:
find . -maxdepth 1 \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.heic" \) -exec sh -c 'convert "$1" "${1%.*}.webp" && rm "$1"' _ {} \; ; find . -maxdepth 1 -iname "*.mov" -delete
Script
Salvează ca convert_media.sh:
#!/bin/bash
set -euo pipefail
DIR="${1:-.}"
echo "==> Convertesc JPG/JPEG/HEIC în WebP..."
find "$DIR" -maxdepth 1 \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.heic" \) | while read -r file; do
output="${file%.*}.webp"
if convert "$file" "$output"; then
echo " OK: $file -> $output"
rm "$file"
else
echo " EROARE: $file (nu am șters originalul)"
fi
done
echo "==> Șterg fișierele MOV..."
find "$DIR" -maxdepth 1 -iname "*.mov" -delete -print | sed 's/^/ Șters: /'
echo "==> Gata."
Utilizare:
chmod +x convert_media.sh
./convert_media.sh # directorul curent
./convert_media.sh /cale/catre/folder
Note
- Originalul nu este șters dacă conversia eșuează (
set -euo pipefail) -maxdepth 1procesează doar directorul specificat, nu recursiv - elimină linia pentru comportament recursiv- Extensiile
.MOV(majuscule) sunt acoperite de-iname(case-insensitive) - Pentru calitate WebP specifică, adaugă
-quality 85în comandaconvert