GNU/Linux >> Znalost Linux >  >> Linux

Převeďte obrázky Webp na PNG pomocí příkazu Linux

Jak převést obrázky .webp na .png v systému Linux

Testováno na Linuxu Ubuntu 20.04

Tato otázka je nejčastějším hitem při vyhledávání Google „linux convert .webp image to png“. Proto pro každého, kdo zde klopýtá a chce jen jednoduchou odpověď, zde je:

# 1. Install the `webp` tool
sudo apt update
sudo apt install webp

# 2. Use it: convert in.webp to out.png
dwebp in.webp -o out.png

Hotovo! Nyní máte out.png .

Odkazy

  1. Dozvěděl jsem se o dwebp ze samotné otázky

Pokud jich máte hodně ke konverzi/přejmenování, doporučil bych vám použít GNU Parallel a nejen že je rychleji převedete tím, že je uděláte paralelně, ale také využijete možnost upravovat názvy souborů.

Požadovaný příkaz je:

parallel dwebp {} -o {.}.png ::: *.jpg

kde {.} znamená "název souboru bez původní přípony" .

Pokud chcete rekurzovat také do podadresářů, můžete použít:

find . -name "*.jpg" -print0 | parallel -0 dwebp {} -o {.}.png

Pokud chcete ukazatel průběhu nebo „odhadovaný čas příjezdu“ , můžete přidat --progress nebo --eta za parallel příkaz.

Pokud chcete vidět, co GNU Parallel by běžel, aniž by ve skutečnosti něco spouštěl, přidal --dry-run .

Chválím GNU Parallel vám v tomto věku, kdy jsou CPU "tučnější" (více jader) spíše než rychlejší.


Udělal jsem to s krátkou linkou, která nevyžaduje parallel k instalaci do systému

for x in `ls -1 *.jpg`; do dwebp {} -o ${x%.*}.png ::: $x; done

A to funguje pro aktuální adresář

Pokusil bych se upravit rekurzivní řešení @mark-setchell tak, aby vypadalo takto:

for x in `find . -name "*.jpg"`; do dwebp {} -o ${x%.*}.png ::: $x; done

${x%.*} část je ta, která zde vyžaduje slovo vysvětlení - říká bash, aby vzal . a vše za tečkou od x proměnná. U jmen s více tečkami je náchylná k nesprávnému chování, protože jsem nezkontroloval, zda je zde regex líný nebo chamtivý - odpověď lze proto dále vyladit.


Linux
  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. 6 Linuxových metaznaků, které rád používám na příkazovém řádku

  2. Linux cd příkaz

  3. Jak sloučit obrázky v příkazovém řádku?

  1. Linux příkaz ifconfig

  2. Linux Time Command

  3. Dávkový převod PNG na JPG v linuxu