Konvertering av bildefilformater med kommandolinjen & slurker

Anonim

Å konvertere bilder til nye filformater er veldig enkelt takket være en rekke verktøy innebygd direkte i OS X (og de fleste Linux-distribusjoner). Selv om den enkleste metoden bruker forhåndsvisning for å konvertere bilder, er det et kommandolinje alternativ som bruker det samme sips-verktøyet som vi har diskutert før for å utføre batch-endring fra kommandolinjen.Ved å bruke slurker kan du konvertere enkeltbilder til nye bildeformater, eller til og med utføre batch-bildekonverteringer.

Enkel bildekonvertering fra kommandolinjen

For å konvertere et enkelt bilde med slurker, bruk følgende kommandostrengsyntaks:

sips -s format --out

For eksempel, på en fil med navnet "test.jpg" som du vil konvertere til PNG, vil sips-syntaksen være:

sips -s format png test.jpg --out test.png

Batch Image Konvertering med slurker

Å konvertere en gruppe bilder er litt vanskeligere, og å bruke enkle jokertegn som når du endrer størrelse med slurker fungerer ikke helt det samme. Du vil oppdage at bruk av et generisk jokertegn somikke gir nytt navn til filen også, så vi bruker veldig enkel shell-scripting i stedet med følgende kommandosyntaks:

for i in ; do sips -s format $i --out /$i.;done

Når vi tar det i bruk, konverterer vi en mappe med .jpeg-filer til png-filer i en ny undermappe i gjeldende katalog, k alt "Konvertert":

for i i .jpeg; do sips -s format png $i --out Converted/$i.png;done

Kjøring av denne kommandoen kan føre til at alle JPEG-bilder konverteres til PNG-format i den nye katalogen.

En potensielt irriterende hake er at de resulterende filnavnene også vil inkludere den originale filtypen i dem, noe som betyr at du vil ende opp med filer med tittelen "test.jpeg.png". Filtypen forblir riktig, det er bare et navneproblem. Du kan omgå det ved å gi dem nytt navn til å begynne med og deretter legge til den riktige filtypen med et lignende bash-skript, bruke regulært uttrykk, eller endre navn manuelt med mv.

Når du kjører sips med enkelte filformater kan du støte på 'lingpng warning'-feil angående exif-data, disse feilene kan ignoreres for det meste og bildekonverteringen vil fortsatt finne sted.

Takk til Thom for ideen om batchkonvertering

Konvertering av bildefilformater med kommandolinjen & slurker