LINUX.ORG.RU

Помогите пжлст скриптики написать


0

0

Добрый день, Пожалуйста расскажите, как можно скриптами решить следующие задачи:

1) в текущем каталоге оставить только изображения размером не менее x точек по верхней стороне, а остальные удалить.

2) Кроп: из всех картинок в данном каталоге вырезать прямоугольник, с координатами левого верхнего угла X точек гориз. и Y точек верт. Правый нижний угол должен совпадать с правым нижним углом страницы, т.е. отрезается только слева и сверху. Про вторую задачу я знаю что что-то подобное делается через convert из ImageMagick, но так как я плохо разбираюсь в скриптах, то написать я ничего толкового не смог :(

Заранее огромное спасибо!

$ cat xcrop
#!/bin/sh

usage () {
    echo Usage: $(basename "$0") FileName x-size y-size >&2
    exit 1
}

(( $# == 3 )) && (( $2 + 0 )) && (( $3 + 0 )) || usage

dx=$2
dy=$3

eval $(identify "$1"|awk -F'[ x]' '{printf("nx=%d;ny=%d",$3,$4)}')

x=$(( nx - dx ))
y=$(( ny - dy ))

anonymous
()
Ответ на: комментарий от anonymous

Огромное спасибо всем - буду пробовать. Еще раз спасибо.

anonymous
()
Ответ на: комментарий от gregg128

попробовал заменить на -e строчное, выдаёт sed: -e expression #1, char 27: invalid reference \1 on `s' command's RHS bash: test: -lt: unary operator expected

gregg128
() автор топика
Ответ на: комментарий от gregg128

Смотри как во втором примере для разделения полей используется awk

anonymous
()
Ответ на: комментарий от gregg128

> sed: invalid option -- E

А, блин. В луниксе надо "-E" на "-r" заменить

swizard
()
Ответ на: комментарий от kosmonavt

это не проблема даже для такого непрограммера как я :) x=800; for ... и понеслась. Перечитайте формулировку задачи. Там сказано "x точек". Мне и ответили про "x точек"...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.