/ localhost

127.0.0.1

може направи

Тук намерих скрипт за imagemagick, който намалява изображението по размер, докато има определен размер в KB. През повечето време обаче не се нуждая от никакви корекции на размера, а просто „намаляване на теглото“ с изображения, които вече са коригирани по размер.

Скрипт за преоразмеряване на един файл, без да се манипулират размерите, може да изглежда така:

#!/bin/bash
ако [$ # -ne 2]
тогава
echo -e "\ nusus: $ 0 \ n"
изход
fi
IMAGE_FORMAT = jpg
FILE_SIZE_LIMIT = $ 1
IMAGE_IN = $ 2
BASENAME = `echo $ | cut -d ‘.‘ -f-1 `
IMAGE_OUT = $. По-малък.jpg
FILE_SIZE = `ls -sk $ IMAGE_IN | cut -d ‘‚ -f1`
ако [$ FILE_SIZE -ge $ FILE_SIZE_LIMIT]
тогава
echo "намаляване на $ IMAGE_IN от: $ FILE_SIZE KB на $ 1 KB"
SIZE = `идентифицирайте $ IMAGE_IN | cut -d ‘‚ -f7`
S = `echo $ SIZE`
ехо "РАЗМЕР: $"
QUAL = 100
докато [$ FILE_SIZE -ge $ FILE_SIZE_LIMIT]
направете
нека QUAL = QUAL-1
echo "Текущо качество: $"
конвертирате $ IMAGE_IN -качество $ $ IMAGE_OUT
FILE_SIZE = `ls -sk $ IMAGE_OUT | cut -d ‘‚ -f1`
echo "Текущ размер на файла: $ FILE_SIZE KB"
Свършен
mv $ IMAGE_OUT $. $. $
fi

Вмъкнете горния кодов фрагмент в текстов файл за вашите собствени експерименти и корекции (нека го наречем filesize.sh) и го направете изпълним.

след това прави bild.jpg 100kb и записва резултата във файла

Често се налага да редактирате цели папки - което може да се направи и със скрипта по-горе:

намери/път/към/папка -iname "* .jpg" -exec filesize.sh 100 <> \;

Обикновено се прилага твърде дебело, защото без скрипт може да се направи така:

за i в `ls * .jpg`; направи конвертиране -качество 80 $ i conv_ $ i; Свършен

След това погледнете резултата

и пише, ако не се побере, поставете по-малко число след -качество, след като сте използвали първия проход

е изтрил. Докато не се побере. Бързо и мръсно.

След като редовете са въведени веднъж, те са в историята на Bash и могат бързо да бъдат извикани с курсора нагоре или търсени и намерени дни по-късно с [Ctrl] [R].