groff arithmetic

Эта команда покажет сумму размеров файлов, которые были изменены за последние 30 дней:

find. -mtime -30 -exec stat -c %s {} \; | awk '{SUM+=$1}END{print SUM}'

Редактировать :сумму файлов

3
29.07.2019, 02:22
1 ответ

Номер текущей страницы \n%.

Чтобы интерполировать результат арифметического выражения, я думаю, вам нужно сначала поместить его в числовой регистр.

Вот макрос (, не прошедший исчерпывающую проверку ), который принимает выражение в качестве аргумента, присваивает результат (предположительно неиспользуемому )регистру с именем __, а затем интерполирует содержимое регистра.

Current page is \n%.
.br
.\" EI - eval and interpolate
.\" $1 is an expression to evaluate
.\" $2 (optional) is a string to append to the interpolated expression,
.\"    without any intervening whitespace
.de EI
.nr __ \\$1
\&\\n(__\\$2
..
.nr x 4
4 times 3 minus 5 is
'EI (\nx*3-5)
\&.
.br
Here there's no space before the period:
'EI (\nx*3-5).
.br

После запуска nroff:

Current page is 1.
4 times 3 minus 5 is 7.
Here there's no space before the period: 7.

Это кажется настолько обычным делом, что подобный макрос уже может быть в стандартных пакетах макросов, но я не знаю.

3
27.01.2020, 21:17

Теги

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