[uanog] Help with xargs substring, please

Andrey Blochintsev bag-uanog at zurbagan.org
Thu Feb 11 13:31:35 EET 2021


Hi!

On Thu, Feb 11, 2021 at 10:16 +0200, Oleh Hrynchuk wrote:

> Доброго дня, шановн?? колеги.
> 
> 
> Маю ось результат виконання команди:
> 
> oleh at localhost:~$ curl -sSL "https://localhost:5000/v2/_catalog" | jq -r
> '.repositories[]' | xargs -n1 -I {} bash -c 'echo "$@"' _ {}
> etx/for_audit
> etx/gsuite-fixes
> etx/master
> 
...

> ?? не можу роз??братися ДЕТАЛЬНО що робить наступний pipe ц?????? команда:
> 
> xargs -n1 -I {} bash -c 'echo "$@"' _ {}
> 
> Тобто, я по одному (xargs -n1) беру аргументи з STDOUT попереднього pipe
> ??.... ?? що дал???
> Також який зм??ст несуть два к??нцев?? елементи:   _  {} ?
> 
> Сорр??, давно вже не залазив в так?? нюанси.. забув. ?? щось не гуглиться.

xargs -n1 -I {} command .... {}
выполняет для каждой строки из STDIN command в аргументах заменяя {} на строку. Образец "{}" специального смысла не имеет, можно брать другой.
Почему
 xargs -n1 -I {} bash -c 'echo "$@"' _ {}
а не просто
 xargs -n1 echo
или
 cat
или вообще отрезать последнюю команду  - могу только предположить. Видимо ожидается, что на входе есть что-то что нужно дать интерпретировать bash-у (хотя echo "$@" должно не особо разбирать аргументы команды, а только печатать; ?ньюансы с локалями?)




More information about the uanog mailing list