# langspec/commands.tsv — the command inventory of the built-in library (and the model for every command library).
# One row per command. Columns (tab-separated):
# name the command's name as written in a query
# library the prefix of its library; empty = the built-in library
# pipes the pipes it rides: | @| $| (space-separated)
# synopsis the call forms, ' / '-separated: substr(a..b) / substr(n)
# kind the registry kind: scalar reducing context keyed assoc rendering both
# typed the signature(s), ';'-separated, 'in → out': text number int float bool quantity(D) instant duration period
# list(T) record table node reference null value; the input is what the command receives on stdin: the topic after |
# or the list of all topics after @|; 'T…' after → = several results, one thread each
# onnull the result on a null topic: null (the default, left out of the appendix), 'no thread' (an expander forks the thread into one per result and a null topic forks it into none), unchanged, or the value
# en / ru the one-line description, English and Russian
# note_en / note_ru coercions, pass-through, refusals and edges, one sentence each
# anchor the spec label of the section that discusses the command
# issues internal: behaviour that looks inconsistent, to be raised; not rendered
name library pipes synopsis kind typed onnull en ru note_en note_ru anchor issues
upper | upper scalar value → text null the text in upper case текст в верхнем регистре takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
lower | lower scalar value → text null the text in lower case текст в нижнем регистре takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
title | title scalar value → text null the text with each word's first letter in upper case and the rest in lower текст, в котором первая буква каждого слова прописная, остальные строчные takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
trim | trim scalar value → text null the text without leading and trailing whitespace текст без начальных и конечных пробельных символов takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
ltrim | ltrim scalar value → text null the text without leading whitespace текст без начальных пробельных символов takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
rtrim | rtrim scalar value → text null the text without trailing whitespace текст без конечных пробельных символов takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
alpha | alpha / alpha(keep) scalar value → text null the letters of the text, every other character turned into a space буквы текста, каждый прочий символ заменён пробелом keep names extra characters to keep, alpha("’") for apostrophes; a class, not a parser keep называет дополнительные символы, которые сохраняются, alpha("’") для апострофов; это класс, а не парсер sec:value-commands
digit | digit / digit(keep) scalar value → text null the digits of the text, every other character turned into a space цифры текста, каждый прочий символ заменён пробелом digit(".,-") keeps decimals and signs; the kept text becomes a number by the numeric coercion digit(".,-") сохраняет десятичные знаки и знаки чисел; сохранённый текст становится числом через числовое приведение sec:value-commands
alnum | alnum / alnum(keep) scalar value → text null the letters and digits of the text, every other character turned into a space буквы и цифры текста, каждый прочий символ заменён пробелом alnum("-") keeps hyphenated words alnum("-") сохраняет слова через дефис sec:value-commands
cc | cc scalar value → int null the count of codepoints число кодовых точек takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
gc | gc scalar value → int null the count of grapheme clusters (UAX #29), what the eye counts число графемных кластеров (UAX #29), то, что считает глаз takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
bc | bc scalar value → int null the count of UTF-8 bytes число байтов UTF-8 takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
wc | wc scalar value → int null the count of words число слов takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
lc | lc scalar value → int null the count of lines число строк takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
sc | sc scalar value → int null the count of sentences (UAX #29) число предложений (UAX #29) takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
lines | lines scalar text → text… no thread the lines of the text, one thread each строки текста, по нити на каждую expands: the thread forks once per line разветвляет: нить расходится по одной на строку sec:value-commands
words | words scalar text → text… no thread the whitespace-separated words of the text, one thread each слова текста, разделённые пробельными символами, по нити на каждое expands; | lower | alpha | words is a tokenizer разветвляет; | lower | alpha | words — токенизатор sec:value-commands
sentences | sentences scalar text → text… no thread the sentences of the text (UAX #29), one thread each, under the session's sentence bonds предложения текста (UAX #29), по нити на каждое, с учётом связок предложений сессии expands; segments trimmed, empties dropped; abbreviations need a bond file (--desm) разветвляет; сегменты обрезаны, пустые отброшены; сокращениям нужен файл связок (--desm) sec:value-commands
ngrams | @| ngrams / ngrams(n) both text → text…; list(T) → list(text) no thread the n-word windows of the text joined by one space, one thread each; as an aggregate, the adjacent n-windows of the stream, full windows only окна по n слов текста, соединённые одним пробелом, по нити на каждое; как агрегат — соседние окна по n элементам потока, только полные n defaults to 2; a text shorter than n yields nothing; a window never straddles two values of a spread n по умолчанию 2; текст короче n не даёт ничего; окно никогда не пересекает два значения спреда sec:value-commands
tokens | tokens / tokens(class) scalar text → text… no thread the corpus reading's tokens of the text, one thread each: words, numbers and punctuation alike токены корпусного прочтения, по нити на каждый: слова, числа и пунктуация равно expands; tokens(word), tokens(number), tokens(punct) keep one class; the tokenizer a corpus mount uses разветвляет; tokens(word), tokens(number), tokens(punct) оставляют один класс; тот же токенизатор, что у монтирования corpus sec:value-commands
levenshtein | levenshtein(other) / levenshtein(a; b) scalar text, text → int null the edit distance to the argument, in codepoints: insertions, deletions and substitutions at one each расстояние редактирования до аргумента, в кодовых точках: вставки, удаления и замены по единице a null topic or a null other gives null null в топике или в other даёт null sec:value-commands
jaro_winkler | jaro_winkler(other) / jaro_winkler(a; b) scalar text, text → float null the Jaro–Winkler similarity to the argument, from 0 to 1, with the standard prefix bonus сходство Джаро — Винклера с аргументом, от 0 до 1, со стандартной премией за префикс a null other gives null; the measure of record linkage for names null в качестве other даёт null; мера связывания записей для имён sec:value-commands
casefold | casefold scalar value → text null Unicode case folding, the full mapping where lower is the simple one: Straße becomes strasse, a final sigma folds свёртка регистра Unicode, полное отображение там, где lower — простое: Straße становится strasse, конечная сигма сворачивается takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
deaccent | deaccent / deaccent(lang) scalar value → text null the text without the marks a language counts as accents, its letters kept; bare, every combining mark removed (= strip) текст без знаков, которые язык считает акцентами, буквы сохранены; без аргумента — без всех комбинируемых знаков (= strip) refused for a language without an accent table отвергается для языка без таблицы акцентов sec:script-commands
strip | strip scalar value → text null the text without any combining mark текст без всех комбинируемых знаков takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:script-commands
stem | stem(lang) scalar text → text null the Snowball stem of each word of the text under the named language: running quickly becomes run quick основа Snowball каждого слова текста под названным языком: running quickly становится run quick refused for a language the stemmer lacks, naming the eighteen it ships; casefold comes before it отвергается для языка, которого нет у стеммера, с перечнем восемнадцати поставляемых; casefold идёт перед ним sec:value-commands
s | s/pattern/replacement/mods scalar value → text null regex substitution: the first occurrence, g every one; the mods g i m s x as in the pattern literal; $1 captures in the replacement подстановка по регулярному выражению: первое вхождение, g — все; модификаторы g i m s x как в литерале шаблона; захваты $1 в замене takes the text coercion of any value, a structure by its output form берёт текстовое приведение любого значения, структуру — в её форме вывода sec:value-commands
split | split / split(sep) scalar text → text… no thread the pieces between a separator, whitespace unless given, one thread each куски между разделителями, пробельными по умолчанию, по нити на каждый expands разветвляет sec:value-commands
substr | substr(a..b) / substr(n) scalar text → text null the codepoints of a 1-based inclusive range, negative counting from the end; a bare position one character кодовые точки диапазона с отсчётом от 1 включительно, отрицательные — от конца; одна позиция — один символ out of range clamps, a crossed range is empty; 0 refuses, it is no position выход за границы обрезается, перекрёстный диапазон пуст; 0 отвергается, это не позиция sec:value-commands
pad | pad(n) / pad(n; fill) scalar text → text null the text padded to n grapheme cells, centered, with spaces or the fill text repeated and cut to fit текст, дополненный до n графемных ячеек, по центру, пробелами или текстом fill, повторённым и обрезанным по месту text already wide enough passes untouched; the odd extra cell falls right достаточно широкий текст проходит нетронутым; лишняя нечётная ячейка уходит вправо sec:value-commands
lpad | lpad(n) / lpad(n; fill) scalar text → text null the text padded on the left to n grapheme cells текст, дополненный слева до n графемных ячеек lpad(n; "0") is the SQL shape; wide enough text passes untouched lpad(n; "0") — форма SQL; достаточно широкий текст проходит нетронутым sec:value-commands
rpad | rpad(n) / rpad(n; fill) scalar text → text null the text padded on the right to n grapheme cells текст, дополненный справа до n графемных ячеек wide enough text passes untouched достаточно широкий текст проходит нетронутым sec:value-commands
repeat | repeat(n) scalar text → text null the text n times, 0 the empty string текст n раз, 0 — пустая строка a negative n is null; "a" * 3 stays arithmetic, never concatenation отрицательное n даёт null; "a" * 3 остаётся арифметикой, а не конкатенацией sec:value-commands
indent | indent(n) / indent(n; unit) scalar text → text null every line of the text behind n copies of two spaces, or of the unit каждая строка текста за n копиями двух пробелов или заданной единицы a null or negative n indents by nothing null или отрицательное n не делает отступа sec:value-commands
default | default(v) scalar value → value v the argument where the topic is null, else the topic unchanged аргумент там, где топик null, иначе топик без изменений the expression form of the null-default operator a ?? b форма команды для оператора null-умолчания a ?? b sec:value-commands
round | round / round(d) scalar number → int; number → float with d; quantity(D) → quantity(D) null the number rounded to an integer, or to d decimal places (negative d reaching left of the point), a quantity rounded in its written unit число, округлённое до целого или до d десятичных знаков (отрицательное d — влево от запятой), величина — в её записанной единице round(d) answers a float, round(0) included; the sanctioned finisher for presenting float arithmetic; a value with no numeric coercion is null round(d) отвечает float, включая round(0); узаконенный финишёр для показа арифметики с плавающей точкой; значение без числового приведения — null sec:value-commands
floor | floor scalar number → int null the number rounded down число, округлённое вниз over the numeric coercion of the topic над числовым приведением топика sec:value-commands
ceil | ceil scalar number → int null the number rounded up число, округлённое вверх over the numeric coercion of the topic над числовым приведением топика sec:value-commands
abs | abs scalar number → number; quantity(D) → quantity(D) null the absolute value, a quantity's in its written unit модуль числа, у величины — в её записанной единице over the numeric coercion of the topic над числовым приведением топика sec:value-commands
log | log / log(b) / log(x; b) scalar number → float null the natural logarithm, or to the base b натуральный логарифм или по основанию b a non-positive argument is null; the expression form takes the operand first неположительный аргумент даёт null; форма выражения берёт операнд первым sec:value-commands
log2 | log2 scalar number → float null the binary logarithm двоичный логарифм a non-positive argument is null неположительный аргумент даёт null sec:value-commands
log10 | log10 scalar number → float null the decimal logarithm десятичный логарифм a non-positive argument is null неположительный аргумент даёт null sec:value-commands
exp | exp scalar number → float null e to the power of the number e в степени числа an overflow is null переполнение даёт null sec:value-commands
sqrt | sqrt scalar number → float null the square root квадратный корень a negative argument is null отрицательный аргумент даёт null sec:value-commands
pow | pow(y) / pow(x; y) scalar number, number → number null the number to the power y: an integer raised to a non-negative integer stays an integer while it fits, else a float число в степени y: целое в неотрицательной целой степени остаётся целым, пока помещается, иначе float an overflow is null переполнение даёт null sec:value-commands
loglik | loglik(n_a; b; n_b) / loglik(a; n_a; b; n_b) scalar int, int, int, int → float null Dunning's log-likelihood keyness G² of a word seen a times in n_a tokens against b times in n_b, signed positive where the first corpus over-represents it кейнесс G² Даннинга для слова, встреченного a раз на n_a токенов против b раз на n_b, со знаком плюс там, где первый корпус его переупотребляет on the pipe the topic is a; a count above its total, an empty corpus or a word absent from both is null на пайпе топик — a; счёт выше своего итога, пустой корпус или слово, отсутствующее в обоих, дают null sec:value-commands
chi2 | chi2(n_a; b; n_b) / chi2(a; n_a; b; n_b) scalar int, int, int, int → float null Pearson's χ² keyness on the same 2×2 table as loglik, signed the same way кейнесс χ² Пирсона на той же таблице 2×2, что у loglik, с тем же знаком as loglik как loglik sec:value-commands
mi | mi(f_x; f_y; n) / mi(f_xy; f_x; f_y; n) scalar int, int, int, int → float null pointwise mutual information of a pair seen f_xy times whose words are seen f_x and f_y times in n tokens поточечная взаимная информация пары, встреченной f_xy раз, слова которой встречены f_x и f_y раз на n токенов on the pipe the topic is f_xy; a zero count or size, or a pair seen more often than one of its words, is null на пайпе топик — f_xy; нулевой счёт или размер, или пара чаще одного из своих слов, дают null sec:value-commands
t_score | t_score(f_x; f_y; n) / t_score(f_xy; f_x; f_y; n) scalar int, int, int, int → float null the t-score of a collocation t-оценка коллокации as mi; tscore is the same command как mi; tscore — та же команда sec:value-commands
tscore | tscore(f_x; f_y; n) scalar int, int, int, int → float null t_score, the same command without the underscore t_score, та же команда без подчёркивания sec:value-commands
log_dice | log_dice(f_x; f_y) / log_dice(f_xy; f_x; f_y) scalar int, int, int → float null logDice of a collocation, 14 + log₂(2f_xy / (f_x + f_y)), at most 14, needing no corpus size logDice коллокации, 14 + log₂(2f_xy / (f_x + f_y)), не больше 14, без размера корпуса as mi; logdice is the same command как mi; logdice — та же команда sec:value-commands
logdice | logdice(f_x; f_y) scalar int, int, int → float null log_dice, the same command without the underscore log_dice, та же команда без подчёркивания sec:value-commands
dice | dice(f_x; f_y) / dice(f_xy; f_x; f_y) scalar int, int, int → float null the Dice coefficient of a collocation, 2f_xy / (f_x + f_y), from 0 to 1 коэффициент Дайса коллокации, 2f_xy / (f_x + f_y), от 0 до 1 as mi как mi sec:value-commands
haversine | haversine(lon1; lat2; lon2) / haversine(lat1; lon1; lat2; lon2) scalar number, number, number, number → float null the great-circle distance between two points in kilometres, on a sphere of 6371 km расстояние по дуге большого круга между двумя точками в километрах, на сфере 6371 км on the pipe the topic is the first latitude; a missing coordinate is null на пайпе топик — первая широта; отсутствующая координата даёт null sec:value-commands
nfc | nfc scalar value → text null the text in Unicode normalization form C текст в форме нормализации Unicode C composes what has a letter (и + U+0306 becomes й); a stressed Cyrillic vowel keeps its two codepoints составляет то, у чего есть буква (и + U+0306 становится й); ударная кириллическая гласная сохраняет две кодовые точки sec:value-commands
nfd | nfd scalar value → text null the text in Unicode normalization form D текст в форме нормализации Unicode D sec:value-commands
vowels | vowels / vowels(alphabet) scalar text → int null the count of vowel letters of the word, Cyrillic and Latin, case-folded число гласных букв слова, кириллических и латинских, без учёта регистра the argument names the vowel alphabet аргумент называет алфавит гласных sec:value-commands
stress | stress(n) / stress(n; alphabet) scalar text → text null the word with the acute (U+0301) after its n-th vowel, 1-based, negative from the end слово с акутом (U+0301) после n-й гласной, отсчёт от 1, отрицательные — от конца a word with fewer vowels is null; 0 refuses; a marked vowel stays; ё counts and is never marked слово с меньшим числом гласных даёт null; 0 отвергается; уже помеченная гласная остаётся; ё считается и не помечается sec:value-commands
stress_at | stress_at scalar text → int null the ordinal of the stressed vowel read back from a marked form: the vowel before the acute, else a ё, else the one vowel of a monosyllable порядковый номер ударной гласной, прочитанный из помеченной формы: гласная перед акутом, иначе ё, иначе единственная гласная односложного слова null when nothing decides null, когда ничто не решает sec:value-commands
unstress | unstress scalar text → text null the word without the acute and the grave слово без акута и грависа sec:value-commands
accent | accent(style) scalar text → text null a marked form rendered in a display convention: "acute" (as stored), "upper" (the stressed vowel in capitals, замОк), "apostrophe" (замо'к), "none" помеченная форма в условном показе: "acute" (как хранится), "upper" (ударная гласная прописной, замОк), "apostrophe" (замо'к), "none" the data keeps the acute; display is a function of it; an unknown style is refused naming the four данные хранят акут; показ — функция от него; неизвестный стиль отвергается с перечнем четырёх sec:value-commands
translit | translit / translit(table) scalar value → text null the text transliterated under a named table, the script's ISO table by default текст, транслитерированный по названной таблице, по умолчанию — таблица ISO для письменности refused for an unknown table, naming the tables; the tables and their standards in the Transliteration appendix отвергается для неизвестной таблицы с перечнем таблиц; таблицы и их стандарты — в приложении о транслитерации sec:script-commands
modernize | modernize(table) scalar value → text null a historical spelling folded to the modern one, letter by letter, case kept: ru-1918 (the pre-reform Russian alphabet) and long-s (early-modern Latin typography) историческое написание, сведённое к современному побуквенно, с сохранением регистра: ru-1918 (дореформенная русская азбука) и long-s (раннее новоевропейское латинское письмо) typography, not orthography; an unknown table refuses типографика, а не орфография; неизвестная таблица отвергается sec:value-commands
sha256 | sha256 scalar value → text null the SHA-256 digest of the text's UTF-8 bytes, as lowercase hex дайджест SHA-256 байтов UTF-8 текста, строчным hex one-way: decode(sha256) is a parse error односторонний: decode(sha256) — ошибка разбора sec:value-commands
base64 | base64 scalar value → text null the text's bytes in base64, padded (RFC 4648) байты текста в base64 с дополнением (RFC 4648) sec:value-commands
base64url | base64url scalar value → text null the text's bytes in URL-safe base64, unpadded, the JWT convention байты текста в URL-безопасном base64 без дополнения, по соглашению JWT sec:value-commands
base32 | base32 scalar value → text null the text's bytes in base32, padded (RFC 4648) байты текста в base32 с дополнением (RFC 4648) sec:value-commands
crockford32 | crockford32 scalar value → text null the text's bytes in Crockford's base32, the transcription-safe alphabet without I, L, O, U, unpadded байты текста в base32 Крокфорда, алфавите без I, L, O, U, безопасном для переписывания, без дополнения sec:value-commands
hex | hex scalar value → text null the text's bytes in hexadecimal байты текста в шестнадцатеричной записи sec:value-commands
decode | decode(scheme) / decode(fmt) scalar text → text with a scheme; text → value with a format null the text decoded from base64, base64url, base32, crockford32 or hex, each lenient; or parsed from json, yaml, toml or xml into a value текст, декодированный из base64, base64url, base32, crockford32 или hex, каждый снисходительно; или разобранный из json, yaml, toml или xml в значение malformed input, or bytes that are not UTF-8, is null; a JSON object becomes a record, an array a list; decode(sha256) is a parse error; the value composes with the spread and $| испорченный вход или байты не в UTF-8 дают null; объект JSON становится записью, массив — списком; decode(sha256) — ошибка разбора; значение сочетается со спредом и $| sec:value-commands
dec | dec(scheme) scalar text → text null decode, the short name decode, короткое имя sec:value-commands
quantity | quantity scalar text → quantity(D) null the unit text read as a quantity, the cast of the quantity coercion текст с единицей, прочитанный как величина, — приведение-каст для величин text that is no quantity is null; a quantity passes through текст, не являющийся величиной, даёт null; величина проходит как есть sec:quantity-commands
convert | convert(U) scalar quantity(D) → quantity(D) null the quantity re-expressed in the compatible unit U, the base magnitude untouched величина, перевыраженная в совместимой единице U, базовая магнитуда не тронута a dimension mismatch or a non-quantity topic is null; an unknown U is refused naming the nearest units; an opaque factor must be the same on both sides несовпадение размерности или топик-невеличина дают null; неизвестная U отвергается с указанием ближайших единиц; непрозрачный множитель должен совпадать по обе стороны sec:quantity-commands
unit | unit / unit(U) scalar quantity → text; number → quantity with U; quantity → quantity with U null bare, the written unit of the quantity as unit text; with U, a number given the unit, a quantity converted to it без аргумента — записанная единица величины как текст единицы; с U — число, получившее единицу, или величина, преобразованная в неё a bare number has no unit, null; an unknown U is refused as in convert у голого числа единицы нет, null; неизвестная U отвергается, как в convert sec:quantity-commands
magnitude | magnitude / magnitude(U) scalar quantity → number null the number of the quantity in its written unit, or in U число величины в её записанной единице или в U a non-quantity is null; an unknown U is refused as in convert невеличина даёт null; неизвестная U отвергается, как в convert sec:quantity-commands
scale | scale / scale(binary) scalar quantity(D) → quantity(D) null the quantity in the thousand-step prefix of its unit that brings the magnitude to one or above: 1400000_B is 1.4_MB; a duration walks s, min, h, d величина в тысячном префиксе своей единицы, при котором магнитуда не меньше единицы: 1400000_B — это 1.4_MB; длительность идёт по лестнице s, min, h, d display-only; a unit that takes no prefix stays; scale(binary) steps the binary prefixes of information только для показа; единица без префиксов остаётся; scale(binary) идёт по двоичным префиксам информации sec:quantity-commands
exchange | exchange(RATES) / exchange(RATES; TARGET) scalar quantity, record → quantity null the currency conversion by a rates record whose keys are currencies and values quantities in another: %(EUR = 1.23 USD); direct entry first, inverse second, the shortest chain last обмен валюты по записи курсов, ключи которой — валюты, а значения — величины в другой: %(EUR = 1.23 USD); сначала прямая запись, затем обратная, затем кратчайшая цепочка a record of several entries needs TARGET or is refused; a topic without exactly one named factor, or a rate the record does not reach, is null; nothing is looked up elsewhere запись из нескольких статей требует TARGET, иначе отвергается; топик без ровно одного названного множителя или недостижимый курс дают null; ничего не ищется снаружи sec:quantity-commands
dfmt | dfmt / dfmt(LOCALE) / dfmt(iso) scalar duration → text null the duration as mixed span text, 1h 30min, in a locale's designations, or ISO 8601 with iso длительность как смешанный интервал, 1h 30min, в обозначениях локали или ISO 8601 при iso a non-duration is null недлительность даёт null sec:quantity-commands
dimension | dimension scalar quantity → text; table → list(text) null the dimension of the quantity over the base dimensions: L/T for a speed, EUR/M for a price per mass, 1 for a ratio размерность величины над базовыми размерностями: L/T для скорости, EUR/M для цены за массу, 1 для отношения a non-quantity is null; on a table one entry per column in header order невеличина даёт null; на таблице по записи на колонку в порядке заголовка sec:quantity-commands
@ | @| | @ / @| @ both record(list) → record…; opaque → record…; list(T) → list(record) no thread the row reading: a record of lists as one record per position, a library value as its rows чтение по строкам: запись списков как по записи на позицию, библиотечное значение — как его строки the bare constructor reading stdin (not a command); written spaced before another pipe, | @ | …; rows is its name голый конструктор, читающий stdin (не команда); перед следующим пайпом пишется через пробел, | @ | …; rows — её имя sec:tables-reshapes
% | @| | % / @| % both list(record) → record(list); opaque → record(list) null the column reading: a list of records as one record of lists keyed by field, a library value as its columns чтение по колонкам: список записей как одна запись списков по полям, библиотечное значение — как его колонки the bare constructor reading stdin (not a command); null where a record lacks the field; columns is its name голый конструктор, читающий stdin (не команда); null там, где у записи нет поля; columns — её имя sec:tables-reshapes
# | @| | # / @| # / #(--width=n) / #(--header=list) / #(--header=record) both list → table; list(record) → table; list(node) → table; list(list) → table null the table reading: a list of records as a frame, a list of lists as an array, a list of values as a sample; the stream built into one table чтение как таблица: список записей — фрейм, список списков — массив, список значений — выборка; поток, собранный в одну таблицу the bare constructor reading stdin (not a command); options stand alone in the parenthesis, never beside an item: --width=n (-w=n) lays the items in rows of n, --header=list (-h=list) names the columns; --header=record (-h=record) names and types them, every cell of a declared column cast to its type (a cell that does not cast refuses naming the column and the first offending row; a declared column the data lacks refuses; undeclared columns are inferred; the record's order is the column order); the frame's header is the union of the fields in first-seen order; nodes give the records of their properties голый конструктор, читающий stdin (не команда); опции стоят в скобках одни, без элементов рядом: --width=n (-w=n) кладёт элементы строками по n, --header=list (-h=list) именует столбцы; --header=record (-h=record) именует и типизирует их: каждая ячейка объявленного столбца приводится к его типу (ячейка, которая не приводится, отказывает, называя столбец и первую такую строку; объявленный столбец, которого нет в данных, отказывает; необъявленные столбцы выводятся; порядок записи — порядок столбцов); именует столбцы; заголовок фрейма — объединение полей в порядке первого появления; узлы дают записи своих свойств sec:tables-reshapes
rows | @| rows both as @ no thread the row reading of a table or a library value, the name of | @ чтение по строкам таблицы или библиотечного значения, имя для | @ sec:tables-reshapes
columns | @| columns both as % null the column reading of a table or a library value, the name of | % чтение по колонкам таблицы или библиотечного значения, имя для | % sec:tables-reshapes
header | @| header both table → record; list(record) → record null a table's header as a record, the column names as keys and the column types (the words type answers) as values; on a list of records the union of their names in order of first appearance with the least coercible type of each; keys answers the names alone, type the types alone заголовок таблицы как запись: имена столбцов — ключи, типы столбцов (слова, которыми отвечает type) — значения; на списке записей объединение имён в порядке первого появления с наименьшим приводимым типом каждого; одни имена отвечает keys, одни типы — type null on the array face; :::header is the projection form on a record or a table null на безымянной стороне (массиве); :::header — форма проекции на записи или таблице sec:tables-reshapes
dim | @| dim both table → list(int) null a table's shape, @(rows; columns) форма таблицы, @(строк; колонок) :::dim is the projection form on a record or a table, :::nrows and :::ncols its two numbers :::dim — форма проекции на записи или таблице, :::nrows и :::ncols — его два числа sec:tables-reshapes
keys | @| keys both record → list(text); table → list(text); list(record) → list(list<text)> null a record's field names as a list, in order; a table's column names; on a list of records one list per record имена полей записи списком, по порядку; имена столбцов таблицы; на списке записей — по списку на запись :::keys is the projection form on a record or a table :::keys — форма проекции на записи или таблице sec:tables-reshapes
fields | @| fields both record → list(projection); table → list(projection); node → list(projection); list(record) → list(projection) null the field projections of the topic as projection values: a record's fields @(:a; :b), a table's columns @(:name; :age) (by position on a headerless table), a node's core fields as :fields has them; over a stream of records the union of their fields in first-seen order проекции полей топика значениями-проекциями: поля записи @(:a; :b), столбцы таблицы @(:name; :age) (по позициям без заголовка), поля ядра узла, как их даёт :fields; над потоком записей — объединение их полей в порядке первого появления where keys and header answer the names as text, fields answers how to reach them; a projection value prints as written (::title) and coerces to text as the bare key; :::fields is the projection form on a record or a table (on a node :fields) там, где keys и header отвечают именами как текстом, fields отвечает тем, как до них добраться; значение-проекция печатается как пишется (::title) и приводится к тексту как голый ключ; :::fields — форма проекции на записи или таблице (на узле :fields) sec:tables-reshapes
project | project(expr) / project(expr; --record) expression value → value null the operand evaluated on the cursor with every projection value in it, at any depth of lists, records and tables, replaced by its reading on the same cursor, other values kept: a projection alone → its value, @(:id; 1) → @(17; 1), %(n = :name; fixed = 1) → %(n = "x"; fixed = 1); project(:fields) reads every core field, project(:meta) every declared metadatum, project($.cols) a projection map held as data операнд, вычисленный на курсоре, в котором каждое значение-проекция на любой глубине списков, записей и таблиц заменено своим чтением на том же курсоре, остальные значения сохранены: проекция сама по себе → её значение, @(:id; 1) → @(17; 1), %(n = :name; fixed = 1) → %(n = "x"; fixed = 1); project(:fields) читает все поля ядра, project(:meta) — все объявленные метаданные, project($.cols) — карту проекций, которую держат как данные --record (-r) turns a list of projections into the record keyed by their bare keys (a duplicate bare key refuses; -r on a record or a scalar refuses); project(:props; -r) is what | % on a node abbreviates; a table from a stream of such records is @| # as ever --record (-r) превращает список проекций в запись с ключами — их голыми ключами (повтор голого ключа отвергается; -r на записи или скаляре отвергается); project(:props; -r) — то, что сокращает | % на узле; таблица из потока таких записей — @| #, как и всегда sec:projection-values
values | @| values both record → list; table → table; list(record) → list(list) null a record's values as a list, in order; a table's rows as a headerless table, columns and types kept значения записи списком, по порядку; строки таблицы как таблица без заголовка, с сохранением колонок и типов sec:tables-reshapes
flatten | @| flatten / flatten(n) both list → list; table → list; list(list) → list(T) unchanged every nested list opened to any depth, scalars and nulls kept in order; flatten(n) opens n levels; a table's cells row by row as one list каждый вложенный список раскрыт на любую глубину, скаляры и null сохранены по порядку; flatten(n) раскрывает n уровней; ячейки таблицы построчно одним списком a record is refused by kind; any other value passes through; over a stream of lists the items come one row each запись отвергается по роду; любое другое значение проходит как есть; над потоком списков элементы идут по одному на строку sec:tables-reshapes
type | @| type both value → text; table → list(text) "null" the type of the topic as one word: bool, int, float, text, null, instant, duration, period, quantity, list, record, table, or opaque; on a table one word per column тип топика одним словом: bool, int, float, text, null, instant, duration, period, quantity, list, record, table или opaque; на таблице по слову на колонку :::type is the projection form on a record or a table :::type — форма проекции на записи или таблице sec:tables-reshapes
[] | @| | [n] / | [a..b] both table → record; table → table null a row of a table by position, or a slice of its rows, the index and range predicates read as commands строка таблицы по позиции или срез её строк, индексный предикат и предикат диапазона, прочитанные как команды on @| the positional selection of threads (Section sec:pipelines-syntax) на @| — позиционный выбор нитей (раздел sec:pipelines-syntax) sec:tables-reshapes
cell | @| cell(i; j) both table, int, int|text → value null one cell of a table: the row by position, the column by position or by name одна ячейка таблицы: строка по позиции, колонка по позиции или по имени sec:tables-reshapes
row-to-header | @| row-to-header both table → table null the first row lifted into the header первая строка, поднятая в заголовок sec:tables-reshapes
header-to-row | @| header-to-row both table → table null the header lowered into the first row, as text, the table then an array заголовок, опущенный в первую строку как текст; таблица становится массивом sec:tables-reshapes
transpose | @| transpose both table → table; list(list) → table; record → table null rows and columns exchanged: a headerless table or a list of lists as a matrix (the cells coerced together to the least type all admit, text at the top); a frame as a frame whose first column, "column", holds the old header and whose other columns are the old rows numbered by position; a record of lists as that frame строки и столбцы переставлены: таблица без заголовка или список списков — как матрица (ячейки вместе приведены к наименьшему типу, который допускают все, текст наверху); фрейм — как фрейм, чей первый столбец «column» несёт прежний заголовок, а остальные — прежние строки по позициям; запись списков — как такой фрейм a ragged row is refused by position; | values | transpose is the matrix of a frame's cells alone рваная строка отвергается с указанием позиции; | values | transpose — матрица одних ячеек фрейма sec:tables-reshapes
pivot | @| pivot / pivot(row; column; value) both list(record) → list(record); table → table null long to wide: one record per row key with a field per column key, both in order of first appearance, null in an unfilled cell из длинного в широкий: по записи на ключ строки с полем на ключ колонки, оба в порядке первого появления, null в незаполненной ячейке two values on one cell are refused, so a table aggregates before it pivots; without operands the first three fields serve by position два значения в одной ячейке отвергаются, так что таблица агрегируется до поворота; без операндов служат первые три поля по позиции sec:tables-reshapes
datetime | datetime / datetime(LOCALE) scalar value → instant null the instant: text parsed as ISO 8601 (its written offset kept), an instant passed through, the cast of the temporal coercion инстант: текст, разобранный как ISO 8601 (с сохранением записанного смещения), инстант как есть, каст темпорального приведения over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
epoch | epoch scalar instant → int null the instant as seconds since the Unix epoch инстант в секундах от эпохи Unix over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
isoformat | isoformat scalar instant → text null the instant formatted in ISO 8601, UTC инстант в формате ISO 8601, UTC over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
year | year scalar instant → int; period → int null the year, UTC, or as the calendar reading counts it in its era год, UTC, или как считает его календарное прочтение в своей эре over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
month | month / month(code) scalar instant → int; instant → text with code null the month's ordinal in the year; month(code) the CLDR month code, M01 to M13 with L on a leap month порядковый номер месяца в году; month(code) — код месяца CLDR, от M01 до M13 с L у вставного месяца over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
day | day scalar instant → int null the day of the month день месяца over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
hour | hour scalar instant → int null the hour, UTC час, UTC over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
minute | minute scalar instant → int null the minute минута over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
second | second scalar instant → int null the second секунда over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
weekday | weekday scalar instant → int null the ISO weekday, 1 = Monday, the same in every calendar день недели по ISO, 1 = понедельник, одинаков во всех календарях over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
date | date scalar instant → instant null the instant truncated to its UTC day инстант, усечённый до своего дня по UTC over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
isodate | isodate scalar instant → text null the calendar key yyyy-mm-dd календарный ключ yyyy-mm-dd over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
isomonth | isomonth scalar instant → text null the calendar key yyyy-mm календарный ключ yyyy-mm over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
isoweek | isoweek scalar instant → text null the calendar key {iso-year}-W{ww}, proper ISO week numbering календарный ключ {iso-год}-W{нн}, по нумерации недель ISO over the temporal coercion of the topic; a topic with no coercion is null над темпоральным приведением топика; топик без приведения даёт null sec:temporal-commands
seconds | seconds scalar number → duration; duration → number null over a number, that many seconds as a duration; over a duration, its length in seconds над числом — столько секунд как длительность; над длительностью — её длина в секундах the unit words work in both directions, decided by the topic's type слова-единицы работают в обе стороны, по типу топика sec:temporal-commands
minutes | minutes scalar number → duration; duration → number null minutes, constructing from a number or reading a duration минуты: построение из числа или чтение длительности as seconds как seconds sec:temporal-commands
hours | hours scalar number → duration; duration → number null hours, constructing from a number or reading a duration: (90 | minutes) | hours is 1.5 часы: построение из числа или чтение длительности: (90 | minutes) | hours — 1.5 as seconds как seconds sec:temporal-commands
days | days scalar number → duration; duration → number null days, constructing from a number or reading a duration: 30 | days is 30_d дни: построение из числа или чтение длительности: 30 | days — 30_d as seconds; the span between two instants is a number of days in one word как seconds; промежуток между двумя инстантами — число дней одним словом sec:temporal-commands
duration | duration / duration(TO) / duration(FROM; TO) scalar value → duration; instant, instant → duration null bare, the cast of the durational coercion: unit text in a time unit, span text or an ISO 8601 duration; with two instants, TO less FROM, negative when TO precedes без аргументов — каст дурационного приведения: текст с единицей времени, текст промежутка или длительность ISO 8601; с двумя инстантами — TO минус FROM, отрицательная, когда TO раньше after a pipe the topic is FROM; an argument that does not coerce makes the result null; td is the short name после пайпа топик — FROM; аргумент без приведения даёт null; td — короткое имя sec:temporal-commands
td | td / td(TO) scalar value → duration null duration, the short name (time duration) duration, короткое имя (time duration) sec:temporal-commands
strftime | strftime(fmt) / strftime(fmt; LOCALE) / strftime(fmt; LOCALE; CALENDAR) scalar instant → text null the instant written under a C/POSIX format, in its own offset, with English names unless a locale is named, in the Gregorian calendar unless one is named инстант, записанный по формату C/POSIX, в собственном смещении, с английскими названиями, если не назван локаль, по григорианскому календарю, если не назван другой a locale or calendar the implementation lacks is refused, naming the ones it carries; tfmt is the short name локаль или календарь, которых нет у реализации, отвергаются с перечнем имеющихся; tfmt — короткое имя sec:temporal-commands
tfmt | tfmt(fmt) scalar instant → text null strftime, the short name strftime, короткое имя sec:temporal-commands
strptime | strptime(fmt) / strptime(fmt; LOCALE) / strptime(fmt; LOCALE; CALENDAR) scalar text → instant null the text parsed under the same format standard, strftime's inverse: a %z offset kept, no offset read as UTC, missing fields from the epoch текст, разобранный по тому же стандарту формата, обратное к strftime: смещение %z сохраняется, без смещения — UTC, отсутствующие поля — от эпохи a non-text topic, or text that does not match the format, is null; tp is the short name топик не-текст или текст, не подходящий под формат, дают null; tp — короткое имя sec:temporal-commands
tp | tp(fmt) / tp(fmt; LOCALE) / tp(fmt; LOCALE; CALENDAR) scalar text → instant null strptime, the short name (temporal parse) strptime, короткое имя (temporal parse) sec:temporal-commands
now expr now() function → instant the invocation instant, the same for the whole query инстант вызова, один на весь запрос an expression function, not a pipe command; the member of the tfmt / td / tp / now family функция выражения, не команда пайпа; член семейства tfmt / td / tp / now sec:temporal-commands not in the engine's command registry (an expression function)
calendar | calendar / calendar(NAME) scalar instant → instant; period → period; instant → text bare null the instant or period read in a named calendar, year, month, day and the locale's rendering following; bare, the name of the reading, gregorian for a fresh instant инстант или период, прочитанный в названном календаре, за ним следуют year, month, day и показ локали; без аргумента — имя прочтения, gregorian для нового инстанта the CLDR calendars, gregorian julian hebrew islamic islamic-tabular persian coptic ethiopian buddhist indian roc japanese chinese dangi, named in any shipped language; another name is refused календари CLDR, gregorian julian hebrew islamic islamic-tabular persian coptic ethiopian buddhist indian roc japanese chinese dangi, называемые на любом поставляемом языке; иное имя отвергается sec:temporal-commands
era | era scalar instant → text null the CLDR code of the era of the instant's calendar reading: ce, reiwa, ah код CLDR эры календарного прочтения инстанта: ce, reiwa, ah null where the calendar has no era null там, где у календаря нет эры sec:temporal-commands
period | period / period(GRAIN) scalar value → period null the cast of the calendar coercion: text at reduced precision at the grain written, an integer that year, an instant at its printing grain; period(GRAIN) the period of that grain holding the value каст календарного приведения: текст пониженной точности на записанной грануляции, целое — тот год, инстант — на грануляции печати; period(GRAIN) — период этой грануляции, содержащий значение the grains year month day hour minute second, in any shipped language; a grain finer than the value's own is null грануляции year month day hour minute second на любом поставляемом языке; грануляция тоньше собственной даёт null sec:temporal-commands
grain | grain scalar period → text null a period's grain as the English word грануляция периода английским словом null for any other value null для любого другого значения sec:temporal-commands
timex | timex(LOCALE) scalar text → record… no thread the time expressions of the text, one record %(text; at; kind; value; grain) each, in the order of the text временные выражения текста, по записи %(text; at; kind; value; grain) на каждое, в порядке текста expands разветвляет sec:timeline
time_anchor | time_anchor(T) scalar text → period null a time expression valued against the anchor T: '+P2M' | time_anchor(1899-10-06) is 1899-12-06 временное выражение, вычисленное относительно якоря T: '+P2M' | time_anchor(1899-10-06) — 1899-12-06 sec:timeline
timeline @| timeline(expr) / timeline(expr; anchor) / timeline(expr; anchor; forward) context list(record) → list(record) no thread the narrative point carried through the context: each time expression valued against the result before it, when and from added to its record нарративная точка, проносимая через контекст: каждое временное выражение вычислено относительно предыдущего результата, в запись добавлены when и from row-aligned построчно sec:timeline
window @| window(span) / window(n) / window(span; key) context list(T) → list(list(T)) no thread each thread with its context neighbours at ordinal offsets within the span as members, its topic their list: window(-1..1) centered, window(..0) expanding, window(n) the trailing n каждая нить с соседями по контексту на порядковых смещениях в пределах span как членами, её топик — их список: window(-1..1) по центру, window(..0) нарастающее, window(n) — хвостовые n row-aligned and thread-preserving; partial at the edges; a trailing key partitions, a null key matches nothing построчно, с сохранением нитей; у краёв неполное; хвостовой ключ разбивает на части, null-ключ ничему не равен sec:windows
shift @| shift(n) / shift(n; key) context list(T) → list(T) no thread each thread's topic replaced by the effective topic of the thread n positions back, negative n looking forward, null past the edge топик каждой нити заменён действующим топиком нити на n позиций назад, отрицательное n смотрит вперёд, за краем null row-aligned; the lag of a difference idiom, | .now @| shift(1) | $.now - $_ построчно; лаг идиомы разности, | .now @| shift(1) | $.now - $_ sec:windows
zscore @| zscore / zscore(key) / zscore(--sample) / zscore(key; --sample) context list(number) → list(float) no thread each numeric topic replaced by its standard score over the context, or over its partition under a key; sample selects the n−1 spread каждый числовой топик заменён своей стандартной оценкой по контексту или по своей части под ключом; sample выбирает разброс по n−1 a topic with no numeric coercion, and every topic of a partition with no spread, is null топик без числового приведения и все топики части без разброса дают null sec:windows
number | @| | number(LOCALE) / @| number / @| number(level) both text → number; list(T) → list(text) null on the pipe the numeric cast under a locale's conventions, number(fr) reading 1 234,56; on @| the outline command, each row's dotted number 1, 1.1, 1.2, 2 from a level per row на пайпе — числовой каст по соглашениям локали, number(fr) читает 1 234,56; на @| — команда оглавления, нумерация каждой строки через точку 1, 1.1, 1.2, 2 по уровню строки text that does not parse under the locale is null; a locale without a table is refused; without an argument the value at hand is the level текст, не разбираемый под локалью, даёт null; локаль без таблицы отвергается; без аргумента уровнем служит само значение sec:windows
outline @| outline / outline(level; text) / outline(level; text; "1.") context list(T) → list(text) no thread each row as the line of a table of contents, the text indented two spaces per level below the shallowest, numbered with "1."; bare, the fields depth and title of a record stream каждая строка как строка оглавления, текст с отступом в два пробела на уровень ниже самого мелкого, с номером при "1."; без аргументов — поля depth и title потока записей row-aligned; a skipped level counts once; a row without a level stands at the top построчно; пропущенный уровень считается один раз; строка без уровня стоит наверху sec:windows
group @| | group(key) / group(key; key…) keyed list(T) → list(list(T)); list → list(list) no thread the context partitioned into one thread per distinct key value, the members under it, the topic their list; on the plain pipe the same over a list topic контекст, разбитый по одной нити на различное значение ключа, члены под ней, топик — их список; на простом пайпе то же над топиком-списком several keys nest; a missing key does not compete несколько ключей вкладываются; отсутствующий ключ не участвует sec:keyed-aggregates
ungroup @| ungroup context list(list(T)) → list(T) no thread the groups' members as the context again члены групп снова как контекст sec:keyed-aggregates
sort_by @| | sort_by(key) / sort_by(key; key…) keyed list(T) → list(T) no thread the threads sorted by per-thread keys, nodes and capsae preserved; a unary minus on a numeric key flips its direction нити, отсортированные по понитевым ключам, с сохранением узлов и капс; унарный минус у числового ключа переворачивает направление ties break by the next key; a missing key does not compete ничьи разрешает следующий ключ; отсутствующий ключ не участвует sec:keyed-aggregates
unique_by @| | unique_by(key) / unique_by(key; key…) keyed list(T) → list(T) no thread the first thread per distinct key первая нить на каждое различное значение ключа sec:keyed-aggregates
min_by @| | min_by(key) keyed list(T) → T no thread the thread with the least key нить с наименьшим ключом sec:keyed-aggregates
max_by @| | max_by(key) keyed list(T) → T no thread the thread with the greatest key нить с наибольшим ключом sec:keyed-aggregates
top @| | top(n; key) keyed list(T) → list(T) no thread the n threads with the greatest key, in key order n нитей с наибольшим ключом, в порядке ключа on the plain pipe per group, after @| group; without a group before it the query is refused на простом пайпе — по группам, после @| group; без группировки перед ней запрос отвергается sec:keyed-aggregates
bottom @| | bottom(n; key) keyed list(T) → list(T) no thread the n threads with the least key n нитей с наименьшим ключом as top как top sec:keyed-aggregates
count @| | count / count(--values) / count(--nulls) / count(--of=expr) reducing list → int; record → int; table → int; scalar → 1 0 how many: the threads of the context, or the items of a list topic, nulls included сколько: нитей контекста или элементов топика-списка, включая null --values (-v) counts the values other than null, --nulls (-n) the nulls, bare count everything; --of=expr (-o=expr) names what to reduce in each member; a non-list topic counts as one --values (-v) считает значения, кроме null, --nulls (-n) — null, голый count — всё; --of=expr (-o=expr) называет, что редуцировать у члена; топик не-список считается за один sec:aggregate-commands
sum @| | sum / sum(--of=expr) reducing list(number) → number; list(quantity(D)) → quantity(D); list(duration) → duration; record → number; table → record null the sum, exact while every operand is an integer; quantities sum within one dimension сумма, точная, пока каждый операнд целый; величины суммируются в пределах одной размерности --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton --of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка sec:aggregate-commands spec sentence fixed (quantity among numbers; two units)
product @| | product / product(--of=expr) reducing list(number) → number; record → number; table → record 1 the product, folded from 1, exact while every operand is an integer произведение, свёрнутое от 1, точное, пока каждый операнд целый --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton --of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка sec:aggregate-commands
min @| | min / min(--of=expr) reducing list(number) → number; list(quantity(D)) → quantity(D); list(instant) → instant; list(duration) → duration; record → number; table → record null the least value наименьшее значение --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton; text does not order here, sort does --of=expr (-o=expr) называет, что редуцировать у члена; над текстом не работает, для него есть sort sec:aggregate-commands
max @| | max / max(--of=expr) reducing list(number) → number; list(quantity(D)) → quantity(D); list(instant) → instant; list(duration) → duration; record → number; table → record null the greatest value наибольшее значение --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton --of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка sec:aggregate-commands
mean @| | mean / mean(--of=expr) reducing list(number) → float; list(quantity(D)) → quantity(D); record → number; table → record null the arithmetic mean среднее арифметическое --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton; avg is the alias --of=expr (-o=expr) называет, что редуцировать у члена; avg — псевдоним sec:aggregate-commands
avg @| | avg / avg(--of=expr) reducing list(number) → float; record → number; table → record null mean, the alias mean, псевдоним --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
median @| | median / median(--of=expr) reducing list(number) → number; record → number; table → record null the median, the mean of the two middle values when even медиана, среднее двух средних значений при чётном числе --of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton --of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка sec:aggregate-commands
percentile @| | percentile(p) / percentile(--of=expr) reducing list(number) → number; record → number; table → record null the p-th percentile, 0 ≤ p ≤ 100, interpolated linearly between the sorted values (R's type 7, NumPy's default); an integer result stays an integer when the rank lands on a value p-й процентиль, 0 ≤ p ≤ 100, с линейной интерполяцией между отсортированными значениями (тип 7 в R, умолчание NumPy); целый результат остаётся целым, когда ранг попадает на значение --of=expr (-o=expr) names what to reduce in each member; a p outside the range is refused --of=expr (-o=expr) называет, что редуцировать у члена; p вне диапазона отвергается sec:aggregate-commands
std @| | std / std(--sample) / std(--of=expr) / std(--sample --of=expr) reducing list(number) → float; record → number; table → record null the population standard deviation; std(--sample) divides by n−1 стандартное отклонение генеральной совокупности; std(--sample) делит на n−1 --of=expr (-o=expr) names what to reduce in each member; null below two values with --sample; stddev is the alias --of=expr (-o=expr) называет, что редуцировать у члена; null при менее чем двух значениях с --sample; stddev — псевдоним sec:aggregate-commands
stddev @| | stddev / stddev(--sample) / stddev(--of=expr) / stddev(--sample --of=expr) reducing list(number) → float; record → number; table → record null std, the alias std, псевдоним --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
var @| | var / var(--sample) / var(--of=expr) / var(--sample --of=expr) reducing list(number) → float; record → number; table → record null the population variance; var(--sample) divides by n−1 дисперсия генеральной совокупности; var(--sample) делит на n−1 --of=expr (-o=expr) names what to reduce in each member; null below two values with --sample; variance is the alias --of=expr (-o=expr) называет, что редуцировать у члена; null при менее чем двух значениях с --sample; variance — псевдоним sec:aggregate-commands
variance @| | variance / variance(--sample) / variance(--of=expr) / variance(--sample --of=expr) reducing list(number) → float; record → number; table → record null var, the alias var, псевдоним --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
entropy @| | entropy / entropy(--of=expr) reducing list(int) → float (counts); list(value) → float (tokens) null the Shannon entropy in bits: a stream of numbers read as counts, any other stream as tokens whose distribution is measured энтропия Шеннона в битах: поток чисел читается как счёты, любой другой поток — как токены, чьё распределение измеряется --of=expr (-o=expr) names what to reduce in each member; //token<word>::lower @| entropy and the same through group | count agree --of=expr (-o=expr) называет, что редуцировать у члена; //token<word>::lower @| entropy и то же через group | count совпадают sec:aggregate-commands
yule_k @| | yule_k / yule_k(--of=expr) reducing list(int) → float null Yule's K over a stream of counts, 10⁴(Σc² − N)/N² K Юла над потоком счётов, 10⁴(Σc² − N)/N² --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
mtld @| | mtld / mtld(t) / mtld(--of=expr) reducing list(value) → float null the measure of textual lexical diversity over tokens: the mean run length over which the type-token ratio stays above t (0.72), forward and backward averaged мера лексического разнообразия текста над токенами: средняя длина отрезка, на котором отношение типов к токенам держится выше t (0.72), усреднённая вперёд и назад --of=expr (-o=expr) names what to reduce in each member; a stream that never falls below t is null --of=expr (-o=expr) называет, что редуцировать у члена; поток, никогда не опускающийся ниже t, даёт null sec:aggregate-commands
ttr @| | ttr / ttr(--of=expr) reducing list(value) → float null the type-token ratio, distinct values over all отношение типов к токенам, различные значения ко всем --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
hapax @| | hapax / hapax(--of=expr) reducing list(value) → list(value) no thread the values that occur once, one thread each in first-occurrence order значения, встречающиеся один раз, по нити на каждое в порядке первого появления --of=expr (-o=expr) names what to reduce in each member; @| hapax @| count is the figure --of=expr (-o=expr) называет, что редуцировать у члена; @| hapax @| count — само число sec:aggregate-commands
sort @| | sort / sort(LOCALE) / sort(atergo) / sort(LOCALE; atergo) / sort(--of=expr) reducing list(T) → list(T) no thread the threads sorted by value, numbers before text; under a collation locale by that locale's CLDR order; atergo the inverse-lexicographic order from the last character нити, отсортированные по значению, числа перед текстом; под локалью сортировки — по её порядку CLDR; atergo — обратно-лексикографический порядок от последнего символа --of=expr (-o=expr) names what to reduce in each member; descending is | reverse composed; an invalid locale tag fails the parse, an untailored one collates by root --of=expr (-o=expr) называет, что редуцировать у члена; по убыванию — через | reverse; неверный тег локали не проходит разбор, локаль без настройки сортируется по корню sec:aggregate-commands
unique @| | unique / unique(--of=expr) reducing list(T) → list(T) no thread the distinct values in order of first appearance, values by value and nodes by identity различные значения в порядке первого появления, значения — по значению, узлы — по тождеству --of=expr (-o=expr) names what to reduce in each member; it does not sort --of=expr (-o=expr) называет, что редуцировать у члена; не сортирует sec:aggregate-commands
reverse @| | reverse / reverse(--of=expr) reducing list(T) → list(T) no thread the threads in reverse order нити в обратном порядке --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
first @| | first / first(n) / first(--of=expr) reducing list(T) → T; list(T) → list(T) with n; value → value null the first value, or the first n in stream order первое значение или первые n в порядке потока --of=expr (-o=expr) names what to reduce in each member; an empty input is null; a non-list topic passes through --of=expr (-o=expr) называет, что редуцировать у члена; пустой вход даёт null; топик не-список проходит как есть sec:aggregate-commands
last @| | last / last(n) / last(--of=expr) reducing list(T) → T; list(T) → list(T) with n; value → value null the last value, or the last n in stream order последнее значение или последние n в порядке потока --of=expr (-o=expr) names what to reduce in each member; an empty input is null; a non-list topic passes through --of=expr (-o=expr) называет, что редуцировать у члена; пустой вход даёт null; топик не-список проходит как есть sec:aggregate-commands
join @| | join / join(sep) / join(--of=expr) reducing list(value) → text "" the values joined into one text with the separator, none unless given значения, соединённые в один текст разделителем, по умолчанию без него --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
frequencies @| | frequencies / frequencies(k) / frequencies(--nulls) / frequencies(--of=expr) reducing list(value) → list(record) no thread each distinct value with its count as %(value; n), most frequent first, equal counts by value ascending, nulls left out; frequencies(k) keeps the top k каждое различное значение со своим счётом как %(value; n), сначала самые частые, равные счёты по возрастанию значения, null опущены; frequencies(k) оставляет верхние k --nulls (-n) adds a row for the nulls, left out by default; --of=expr (-o=expr) names what to reduce in each member; | :n reads the count and | :value the value --nulls (-n) добавляет строку для null, по умолчанию опущенных; --of=expr (-o=expr) называет, что редуцировать у члена; | :n читает счёт, | :value — значение sec:aggregate-commands
bins @| bins / bins(n) / bins(--of=expr) reducing list(number) → table no thread the numbers binned: n equal-width bins over min..max (10 unless given) as the table #(@(from; to; count)), one row per bin, open at to except the last, the nulls counted in a last row with null edges; edges printed at the precision that tells them apart числа по корзинам: n корзин равной ширины между min и max (10, если не задано) таблицей #(@(from; to; count)), по строке на корзину, открытой на to, кроме последней, null сосчитаны в последней строке с границами null; границы печатаются с точностью, различающей их --of=expr (-o=expr) names what to reduce in each member; text that reads as a number counts as one, any other value refuses naming histogram; bins(0) refuses --of=expr (-o=expr) называет, что редуцировать у члена; текст, читающийся числом, считается им, любое другое значение отвергается с указанием на histogram; bins(0) отвергается sec:aggregate-commands
histogram @| histogram / histogram(n) / histogram(n; --width=w) / histogram(--of=expr) reducing list(value) → text no thread the stream drawn as bars, one text: numbers in n equal-width bins labelled from–to, whole numbers with no more distinct values than bins one bar per value in numeric order, other values one bar per distinct value most frequent first (n shown, the rest one "other" bar), the nulls a last bar, the count after each bar поток столбиками, одним текстом: числа в n корзинах равной ширины с подписями from–to, целые с числом различных значений не больше корзин — по столбику на значение по порядку, другие значения — по столбику на различное значение, сначала самые частые (показаны n, остальные одним столбиком «other»), null последним столбиком, за каждым столбиком его счёт --of=expr (-o=expr) names what to reduce in each member; --width=w (-w=w) the longest bar in cells (40): the longest drawn value sets the scale, the other and null bars stand outside it and fill the width past it, any count shows at least an eighth; switches last: histogram(5; -w=20) --of=expr (-o=expr) называет, что редуцировать у члена; --width=w (-w=w) — самый длинный столбик в клетках (40): масштаб задаёт самое длинное нарисованное значение, столбики other и null стоят вне него и заполняют ширину, когда его превышают, любой счёт показывает хотя бы восьмую; переключатели последними: histogram(5; -w=20) sec:aggregate-commands
combinations @| | combinations(n) / combinations(--of=expr) reducing list(value) → list(list) no thread every unordered n-member subset of the stream's distinct values, each once, as a list in the values' own order каждое неупорядоченное n-элементное подмножество различных значений потока, по разу, списком в собственном порядке значений --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
pairs @| | pairs / pairs(--of=expr) reducing list(value) → list(list) no thread combinations(2) combinations(2) --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
triples @| | triples / triples(--of=expr) reducing list(value) → list(list) no thread combinations(3) combinations(3) --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
bigrams @| | bigrams / bigrams(--of=expr) reducing list(T) → list(list) no thread the adjacent pairs of the stream in order, full windows only, ngrams(2) соседние пары потока по порядку, только полные окна, ngrams(2) --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
trigrams @| | trigrams / trigrams(--of=expr) reducing list(T) → list(list) no thread the adjacent triples of the stream, ngrams(3) соседние тройки потока, ngrams(3) --of=expr (-o=expr) names what to reduce in each member --of=expr (-o=expr) называет, что редуцировать у члена sec:aggregate-commands
skipgrams @| | skipgrams(n; k) / skipgrams(--of=expr) reducing list(T) → list(list) no thread the n-grams with up to k positions skipped: every subsequence of n values leaving out at most k of those it spans, in the lexicographic order of positions n-граммы с пропуском до k позиций: каждая подпоследовательность из n значений, опускающая не более k из охваченных, в лексикографическом порядке позиций --of=expr (-o=expr) names what to reduce in each member; skipgrams(n; 0) is ngrams(n) --of=expr (-o=expr) называет, что редуцировать у члена; skipgrams(n; 0) — это ngrams(n) sec:aggregate-commands
jaccard @| | jaccard(list) / jaccard(--of=expr) reducing list(value), list → float null the Jaccard similarity of the stream's distinct values to the list's, the intersection over the union, 0 to 1 сходство Жаккара различных значений потока со значениями списка, пересечение к объединению, от 0 до 1 --of=expr (-o=expr) names what to reduce in each member; 0 where the two share nothing --of=expr (-o=expr) называет, что редуцировать у члена; 0, когда общего нет sec:aggregate-commands
corr @| | corr(a; b) assoc list(value) → float null Pearson's r between two per-thread expressions r Пирсона между двумя понитевыми выражениями a thread missing either reading is dropped; fewer than two pairs, or no spread on a side, is null; on the plain pipe per group нить без одного из чтений отбрасывается; менее двух пар или отсутствие разброса с одной стороны дают null; на простом пайпе — по группам sec:aggregate-commands
spearman @| | spearman(a; b) assoc list(value) → float null Spearman's ρ on average ranks ρ Спирмена по средним рангам as corr как corr sec:aggregate-commands
cosine @| | cosine(a; b) assoc list(value) → float null the cosine of the two vectors косинус двух векторов as corr как corr sec:aggregate-commands
delta @| | delta(a; b) assoc list(value) → float null Burrows's Delta, the mean absolute difference of two profiles' standard scores over the pairs дельта Барроуза, среднее абсолютное различие стандартных оценок двух профилей по парам as corr как corr sec:aggregate-commands
dp @| | dp(n; size) assoc list(value) → float null Gries's deviation of proportions over pairs of a part's count of a word and the part's size: 0 an even spread, 1 a word confined to a vanishing part отклонение пропорций Гриса по парам «счёт слова в части, размер части»: 0 — ровное распределение, 1 — слово, запертое в исчезающе малой части a corpus without the word, or without tokens, is null корпус без слова или без токенов даёт null sec:aggregate-commands
kappa @| | kappa(a; b) assoc list(value) → float null Cohen's κ agreement of two label expressions over the categories both sides name согласие κ Коэна двух выражений-меток по категориям, которые называют обе стороны a pair with a null side is dropped; no pairs, or one category on both sides, is null пара с null с одной стороны отбрасывается; отсутствие пар или одна категория с обеих сторон дают null sec:aggregate-commands
precision @| | precision(a; b) assoc list(value) → float null the precision of the second expression against the first, a label positive by its truthiness точность второго выражения относительно первого, метка положительна по своей истинности a zero denominator is null нулевой знаменатель даёт null sec:aggregate-commands
recall @| | recall(a; b) assoc list(value) → float null the recall of the second expression against the first полнота второго выражения относительно первого a zero denominator is null нулевой знаменатель даёт null sec:aggregate-commands
f1 @| | f1(a; b) assoc list(value) → float null the F₁ score of the second expression against the first F₁-мера второго выражения относительно первого sec:aggregate-commands
json | @| json both value → text; node → text; list(T) → text "null" the value as JSON (a record an object, a list an array); in a node context the node's subtree; over the stream one array значение как JSON (запись — объект, список — массив); в контексте узла — поддерево узла; над потоком — один массив one string; the output form of the value одна строка; форма вывода значения sec:output-commands
jsonl | @| jsonl both value → text; list(T) → text "null" over the stream JSON Lines, one document per line; on the pipe json under its other name над потоком — JSON Lines, по документу на строку; на пайпе — json под другим именем sec:output-commands
csv @| | csv / csv(col; col…) rendering list(record) → text; table → text null the stream of records as one RFC 4180 CSV document: a header and a row per value, the columns the union of the fields in first-seen order or the named ones; a scalar under value поток записей одним документом CSV по RFC 4180: заголовок и строка на значение, колонки — объединение полей в порядке первого появления или названные; скаляр под value a missing field is an empty cell; on the plain pipe a table value only отсутствующее поле — пустая ячейка; на простом пайпе — только значение-таблица sec:output-commands
pretty @| | pretty / pretty(col; col…) rendering list(record) → text; value → text "null" the stream of records as an aligned text table with a rule under the header; on the pipe the pretty-printer of any value, recursing: a record one field per line at every depth (a nested record opens after its field, its keys in one column under the first), a list on one line when it fits in 72 columns and holds no record, else one item per line, a table the grid, a scalar as it is поток записей как выровненная текстовая таблица с чертой под заголовком; на пайпе — красивая печать любого значения, рекурсивно: запись по полю на строку на любой глубине (вложенная открывается после своего поля, её ключи в одной колонке под первым), список на одной строке, когда умещается в 72 колонки и не содержит записей, иначе по элементу на строку, таблица — сеткой, скаляр — как есть sec:output-commands
kaiv | @| kaiv both value → text; node → text; list(T) → text null the stream as one kaiv document, each result under /@results, typed values keeping their units; on the pipe one value, or a node's subtree in value form поток одним документом kaiv, каждый результат под /@results, типизированные значения с единицами; на пайпе — одно значение или поддерево узла в форме значения the command sees values, so the document carries no provenance команда видит значения, поэтому документ не несёт провенанса sec:output-commands
encoding @| encoding(LABEL) context list(text) → bytes no thread the output boundary: the stream's text encoded in the named encoding, as bytes a tool writes as they are; stands last, after a serialization граница вывода: текст потока в названной кодировке, байтами, которые инструмент пишет как есть; стоит последней, после сериализации after json or jsonl an unrepresentable character becomes a \u escape; after plain text, csv, pretty or kaiv the command is refused at the first such character после json или jsonl непредставимый символ становится \u-экранированием; после простого текста, csv, pretty или kaiv команда отвергается на первом таком символе sec:output-commands
xml | xml scalar node → text; value → text null the node's subtree as XML: name to tag, children nested, a leaf's scalar its text; a record maps @name fields to attributes, #text to text, the rest to elements поддерево узла как XML: имя — в тег, дети вложены, скаляр листа — его текст; запись отображает поля @name в атрибуты, #text в текст, остальное в элементы sec:value-commands
markdown | markdown scalar node → text null the node's subtree rendered as Markdown text поддерево узла, выведенное текстом Markdown sec:value-commands
html | html scalar node → text null the node's subtree serialized as HTML поддерево узла, сериализованное как HTML sec:value-commands
atrep | atrep scalar node → text null the node's subtree as atrep text поддерево узла как текст atrep sec:value-commands
conllu | conllu scalar node → text null the node's subtree as CoNLL-U поддерево узла как CoNLL-U sec:value-commands
link | link scalar node → record null the host's link record of the node, %(title; href; text), what a page adapter gives a page so that a result is clickable in the hosts запись ссылки узла, которую даёт хост, %(title; href; text), то, что адаптер страницы даёт странице, чтобы результат был кликабельным в хостах null where the host has no such notion; an HTML <a> carries ::href, not a link record null там, где у хоста нет такого понятия; HTML <a> несёт ::href, а не запись ссылки sec:value-commands
bibref | bibref(STANDARD) scalar text → record null one reference text written to a citation standard (gost, gb7714, cmos, ams) parsed into a record under the bibliography's campi один текст ссылки, записанной по стандарту цитирования (gost, gb7714, cmos, ams), разобранный в запись по кампам библиографии null where the text is no reference; refused for a tag the implementation lacks null там, где текст не ссылка; отвергается для тега, которого нет у реализации sec:value-commands
sh | sh(cmd) / `cmd` / (;cmd) scalar value → text null the topic's text through an external program: stdin the text, stdout the new topic with one trailing newline trimmed, stderr passed through; the command line read raw to the balancing parenthesis, interpolating like a double-quoted string текст топика через внешнюю программу: stdin — текст, stdout — новый топик без одного конечного перевода строки, stderr пропускается; командная строка читается сырой до парной скобки, с интерполяцией как в строке в двойных кавычках gated: refused unless the run enables it (qua --allow-shell); null on failure; sh('cmd') is a retired spelling под замком: отвергается, пока запуск её не разрешит (qua --allow-shell); null при сбое; sh('cmd') — отменённое написание sec:environment-commands
melt | @| melt(id; id…) / melt(id; --name=; --value=) both record → record…; table → table; list(record) → list(record) no thread wide to long: every field beyond the named ids becomes a record of the ids and two new fields, variable (the field's name) and value; a table value melts its rows and answers the long table из широкого в длинный: каждое поле сверх названных id становится записью из id и двух новых полей, variable (имя поля) и value; значение-таблица плавит свои строки и отвечает длинной таблицей --name= and --value= rename the two fields; pivot(id; variable; value) goes back --name= и --value= переименовывают два поля; pivot(id; variable; value) возвращает назад sec:tables-reshapes
tree @| tree / tree(depth; expr…; --kind; --traits; --props; --record; --sample=n) context list(node) → text no thread the node context drawn as a tree: the starting points with their subtrees, the mount root on top, a dotted stub for a starting point below the root, crosslinks one hop deep; the kind, traits, property names or the property record and expression columns beside each name контекст узлов, нарисованный деревом: отправные точки с поддеревьями, корень монтирования наверху, пунктирный отросток для точки ниже корня, кросс-ссылки на один хоп; род, трейты, имена свойств или запись свойств и колонки выражений рядом с каждым именем --kind (-k), --traits (-t), --props (-p), --record (-r: the scalar properties, no child with children nor a null member, none when there are none, six fields then ; …) stand last and bundle; sibling leaves whose lines read alike collapse to one line with a count (row ×891); --sample=n (-s=n) draws the first n children of a node that has more and closes with "… and N more" --kind (-k), --traits (-t), --props (-p), --record (-r: скалярные свойства, без детей с детьми и без членов со значением null, ничего, когда их нет, шесть полей и ; …) стоят последними и склеиваются; соседние листья с одинаковыми строками сворачиваются в одну строку со счётом (row ×891); --sample=n (-s=n) рисует первых n детей узла, у которого их больше, и закрывает «… and N more» sec:output-commands
record | record(…) scalar retired: the record is %(…) отменено: запись — это %(…) refused with the pointer отвергается с указателем sec:value-commands registered only as a retired pointer
rec | rec(…) scalar retired: the record is %(…) отменено: запись — это %(…) refused with the pointer отвергается с указателем sec:value-commands registered only as a retired pointer