Spec-Zone.ru › Fish 3.3

string-split0 - разделение по нулевым байтам

Синопсис

string split [(-f | --fields) FIELDS] [(-m | --max) MAX] [(-n | --no-empty)] [(-q | --quiet)] [(-r | --right)] SEP [STRING...]
string split0 [(-f | --fields) FIELDS] [(-m | --max) MAX] [(-n | --no-empty)] [(-q | --quiet)] [(-r | --right)] [STRING...]

Описание

string split разделяет каждую строку STRING по разделителю SEP, который может быть пустой строкой. Если -m или --max указаны, то на каждой строке STRING выполняется не более MAX разделений. Если -r или --right заданы, разделение выполняется справа налево. Это полезно в сочетании с -m или --max. С -n или --no-empty, пустые результаты исключаются из рассмотрения (например, hello\n\nworld будет расширяться до двух строк, а не трёх). Код возвращает 0, если по крайней мере одно разделение было выполнено, или 1 в противном случае.

Используйте -f или --fields для вывода определенных полей. Если --allow-empty не используется, если заданное поле отсутствует, команда завершается с кодом 1 и ничего не выводит.

См. также опцию --delimiter команды read.

string split0 разделяет каждую строку STRING по нулевому байту (NUL). Опции те же, что и у string split, за исключением того, что разделитель не указан.

split0 имеет важное свойство, что его вывод не разделяется при использовании в подстановке команды, позволяя подстановке команды создавать элементы, содержащие символы новой строки. Это наиболее полезно при использовании с утилитами Unix, которые генерируют нулевые байты, такими как find -print0 или sort -z. См. примеры использования split0 ниже.

Примеры

>_ string split . example.com
example
com

>_ string split -r -m1 / /usr/local/bin/fish
/usr/local/bin
fish

>_ string split '' abc
a
b
c

>_ string split --allow-empty -f1,3,5 '' abc
a
c

Примеры с разделителями NUL

>_ # Count files in a directory, without being confused by newlines.
>_ count (find . -print0 | string split0)
42

>_ # Sort a list of elements which may contain newlines
>_ set foo beta alpha\ngamma
>_ set foo (string join0 $foo | sort -z | string split0)
>_ string escape $foo[1]
alpha\ngamma

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

Spec-Zone.ru

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