Imagemagick может сделать это за один шаг:
$ convert in.pdf -crop 50%x0 +repage out.pdf
В первую очередь, необходимо использовать прямые одинарные кавычки ('
), не наклоненные (`
).
awk
встроенный сценарий мог быть следующие:
ls -lrt | awk '{ total += $5 }; END { print total }'
таким образом, никакая потребность инициализировать total
(awk
инициализирует его для обнуления), и никакая потребность циклично выполниться, awk
уже выполняет сценарий на каждой строке входа.
@enzotib уже указал на то, что Ваша синтаксическая ошибка - я собираюсь уйти на небольшой касательной.
Подведение итогов столбца чисел является одной из тех вещей, которая продолжает открываться. Я закончил с этой функцией оболочки:
sumcol()
{
awk "{sum+=\$$1} END {print sum}"
}
С этим Ваше решение становится:
ls -lrt | sumcol 5
Это суммирует числа в столбце 5 и распечатает значение.
Вот другой способ сделать это при помощи du
:
find . -name \*.extract.sys -size +1000000c -print0 | du -c --files0-from=- | awk 'END{print $1}'
du -ch --files0-from=-
говорит мне, что мое общее количество "9.0G". Sweeeet!
– Mike S
09.11.2016, 20:21
tail -1
.
– haridsv
25.01.2017, 07:00
В случае, если HP-UX find
также имеет -printf
опция, которая была бы полезна для создания формулы для bc
вычислять:
( find . -name \*.extract.sys -size +1000000c -printf '%s+'; echo 0 ) | bc
Если формула становится слишком большой, она может быть вычислена пошаговая:
( find . -name \*.extract.sys -size +1000000c -printf 's+=%s\n'; echo s ) | bc
С GNU найти
:
find -name '*.extract.sys' -size +1000000c -printf '%s\n' | jq -s add
С GNU stat
:
find . -name '*.extract.sys' -size +1000000c -exec stat -c%s '{}' + | jq -s add
С BSD stat
:
find . -name '*.extract.sys' -size +1000000c -exec stat -f%z '{}' + | jq -s add
find . -name \*.extract.sys -size +1000000c -exec ls -lrt {} \; | awk '{ total += $5 }; END { print total }'
– helt 27.04.2016, 18:35