Conversie JPG/HEIC la WebP și curățare MOV

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 1 procesează 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 comanda convert