Объединение команд с помощью xargs

some_command --flag "$(printf '%s' foo\
    bar\
    quux)" arg2

подойдет, хотя это не самый читаемый текст. Это передает «foo», «bar» и «quux» в качестве аргументов команде printfс %sв качестве строки формата. Когда символов формата задано меньше, чем аргументов, строка формата повторяется по мере необходимости, что делает ее эквивалентной %s%s%s, или все три строки печатаются одна за другой без пробелов между ними. Наконец, вывод команды printf, «foobarquux», подставляется в качестве аргумента для some_command.

0
18.12.2019, 15:19
1 ответ

What is the lesson here?

Вероятно, не переусердствуйте -с яйцами в пудинге .

% (
>   grep -l -r -- "$patternA". |
>   tee /dev/fd/7 |
>   xargs grep -L -- "$patternB"
> ) 7>&1
0
28.01.2020, 03:00

Теги

Похожие вопросы