разделить вывод grep от xargs - PullRequest
0 голосов
/ 05 апреля 2020

Есть ли способ отделить выходы от запуска grep с каждым аргументом из xargs? Я пытаюсь запустить это:

echo 'pattern1\npattern2' | xargs -I{} grep -r '{}' *

Для контекста я пытаюсь проверить существование каждого шаблона в каталоге; что-то вроде этого:

#pattern exit_status
pattern1 0
pattern2 1 

Мне точно не нужен разделитель, но я хочу один, так как он позволил бы мне считать по шаблону. Если есть лучший способ сделать это, я тоже буду к этому открыт!

1 Ответ

1 голос
/ 05 апреля 2020

Вы можете запустить что-то вроде этого:

printf '%s\n' pattern1 pattern2 | xargs -I{} sh -c 'grep -rq "$1"; echo "$1 $?"' sh {}

Это будет echo каждый шаблон и его статус выхода рекурсивной команды grep.

...