string-collect - объединение строк в одну
Краткое описание
string collect [-a | --allow-empty] [-N | --no-trim-newlines] [STRING ...]
Описание
string collect собирает свой ввод в один выходной аргумент, не разбивая выходные данные при использовании в подстановке команд. Это полезно при попытке собрать многострочный вывод другой команды в переменную. Код выхода: 0, если какой-либо выходной аргумент не пустой, или 1 в противном случае.
Команда, подобная echo (cmd | string collect), в основном эквивалентна цитируемой подстановке команд (echo "$(cmd)"). Основное различие заключается в том, что первая вычисляет ноль или один элемент, тогда как цитируемая подстановка команд всегда вычисляет один элемент из-за интерполяции строк.
Если вызван с несколькими аргументами вместо ввода, string collect сохраняет каждый аргумент отдельно, где количество выходных аргументов равно количеству аргументов, переданных string collect.
Любые хвостовые символы новой строки во вводе обрезаются, как и в подстановке "$(cmd)". Используйте --no-trim-newlines, чтобы отключить это поведение, что может быть полезно при выполнении команды, такой как set contents (cat filename | string collect -N).
При использовании --allow-empty, string collect всегда печатает один (пустой) аргумент. Это можно использовать для предотвращения исчезновения аргумента.
Примеры
>_ echo "zero $(echo one\ntwo\nthree) four" zero one two three four >_ echo \"(echo one\ntwo\nthree | string collect)\" "one two three" >_ echo \"(echo one\ntwo\nthree | string collect -N)\" "one two three " >_ echo foo(true | string collect --allow-empty)bar foobar
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/string-collect.html