mailx issue - адрес электронной почты, начинающийся с #

вот способ получить высоту и ширину за один шаг:

IFS=x read w h < <(identify "$file" | grep -oP '\d+x\d+(?=\+)')

identify является частью пакета ImageMagick.

Ваш "$ far" определенно не то, что вам нужно:

for dir in */OEBPS/image/; do
    for image in "$dir"/*.{jpg,png,jpeg}; do
        IFS=x read w h < <(identify "$image" | grep -oP '\d+x\d+(?=\+)')
        echo $((w*h)) "$image"
    done | sort -n | tail -1 | {
        read size file
        echo "largest in $dir is $file"
    }
done

На самом деле, identify может занимать несколько файлов, поэтому более эффективный метод:

for dir in */OEBPS/image/; do
    identify "$dir"/*.{jpg,png,jpeg} |
    awk '{split($(NF-6), a, /x/); split($0, b, /[[]/); print a[1]*a[2], b[1]}' |
    sort -n | tail -1 | {
        read size file
        echo "largest in $dir is $file"
    }
done

Команда awk немного сложна, потому что я хотите обрабатывать имена изображений, которые могут содержать пробелы

0
20.02.2019, 19:21
2 ответа

Если я правильно понял, ваш первый персонаж #создает вам здесь проблемы. Поэтому я бы посоветовал вам использовать команду cutдля удаления первого символа

.

CLEAN_EMAIL=$(echo $RECIPIENT | cut -c 2-); echo $CLEAN_EMAIL

-1
28.01.2020, 04:24

Используйте \#mail@mail.com; это решило бы проблему.

1
28.01.2020, 04:24

Теги

Похожие вопросы