Spec-Zone.ru › Fish 3.5

string-join0 - объединение строк с нулевыми байтами

Синтаксис

string join [-q | --quiet] SEP [STRING ...]
string join0 [-q | --quiet] [STRING ...]

Описание

string join объединяет свои аргументы STRING в одну строку, разделяя их SEP, которое может быть пустой строкой. Код возврата: 0, если было выполнено хотя бы одно объединение, или 1 в противном случае. Если -n или --no-empty указаны, пустые строки не учитываются (например, string join -n + a b "" c будет расширяться до a+b+c, а не a+b++c).

string join0 объединяет свои аргументы STRING в одну строку, разделяя их нулевым байтом (NUL), и добавляет завершающий NUL. Это наиболее полезно при работе с инструментами, принимающими входные данные, ограниченные нулевыми байтами, такими как sort -z. Код возврата: 0, если было выполнено хотя бы одно объединение, или 1 в противном случае.

Поскольку Unix использует NUL в качестве терминатора строки, передача результата работы string join0 в качестве аргумента команде (через подстановку команды) фактически не сработает. Fish передаст правильные байты, но команда не сможет определить, где заканчивается аргумент. Это ограничение в передаче аргументов в Unix.

Примеры

>_ seq 3 | string join ...
1...2...3

# Give a list of NUL-separated filenames to du (this is a GNU extension)
>_ string join0 file1 file2 file\nwith\nmultiple\nlines | du --files0-from=-

# Just put the strings together without a separator
>_ string join '' a b c
abc

© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/string-join0.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API