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
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/string-join0.html