prepending um comando para a saída de um tubo

0

O seguinte comando:

jq ".[] | .file.url_private_download" *json

gera muitas linhas na forma de:

"https://files.slack.com/files-pri/T27SFGS2W-F78LH1DN2/download/img_1964.jpg?t=xoxe-243624297126-248125875671-248125975751-cee1f8d9a1"

Qual é a maneira mais simples de prefixar um comando wget na frente de cada uma dessas linhas?

Muito obrigado

    
por Robert Alexander 26.09.2017 / 19:01

2 respostas

1

Você pode usar xargs para preceder o comando que deseja em cada linha:

jq ".[] | .file.url_private_download" *json | xargs -n1 /bin/echo "wget"  
    
por 26.09.2017 / 19:23
1

Você pode usar sed para reescrever o início de cada linha:

jq ".[] | .file.url_private_download" *json  | sed 's/^/wget /'

que "substitui" o início da linha com qualquer que seja o padrão de substituição, aqui wget

Ou para wget de todos os arquivos:

jq ".[] | .file.url_private_download" *json  | wget -i -
    
por 26.09.2017 / 19:09