TobbeT skrev:Om jag vill ha det med småbokstäver istället, hur gör jag då? Alltså .jpg när skalningen är klar och zip-filen skapad.
Det är en eller två av två olika frågor.
1) Att scriptet ska klara både .jpg och .JPG (och kanske .JpG, .jPg, .jpeg, etc).
2) Att scriptet ska döpa de nedskalade bilderna till små (.jpg) oavsett om originalet hade .jpg eller .JPG (och kanske .jPg, .jpeg, etc).
1a) 1) kan man lösa med att ha både *.jpg och *.JPG som argument till mogrify. Men då kommer man nästan alltid att få ett felmeddelande från kommandot (att den inte hittar "*.JPG" om det bara fanns .jpg), men den kommer för övrigt att göra det den ska. (Man kan lägga till *.jpeg och *.JPEG och även *.gif, *.GIF, *.png och *.PNG för att klara fler bildtyper. Allt kan sammanfattas i ett argument med klamrar *.{jpg,JPG,jpeg,JPEG,gif,GIF,png,PNG}, men fortfarande får man det onödiga felmeddelandet för filer som inte finns.)
1b) alternativt en lösning med file-kommandot som klassificerar filtyp utan att titta på filnamnändelsen. Med kommandot
file -F ':-)' --mime-type * | awk -F ':-)' '/ image\//{print $1}' listas alla filnamn som är bilder, oavsett om de har en ändelse och vad för ändelse. Sen gäller det att bjuda mogrify den listan på ett sätt som klarar mellanslag i filnamn.
2a) 2) borde kunna lösas med t.ex kommandot prename på lämpligt ställe i scriptet.
Allt ovanstående försämrar scriptet på det sättet att det blir
fulare. Som scriptet är nu har det i huvudsak fyra rader med fyra kommandon, mkdir, mogrify, zip och rmdir. Kommandona kommer i en naturlig ordning och gör det de ska på ett ganska begripligt sätt. Utmaningen är att genomföra förbättringarna utan att förstöra denna skönhet.
Men först, vad är viktigast just nu: 1) eller 2)?