Eu tenho um programa que usa URLs como argumentos da linha de comando e gera um arquivo PDF. Por exemplo, eu uso a substituição de comando para fornecer os URLs de entrada de um arquivourlsfile
wkhtmltopdf $(cat urlsfile) my.pdf
Em urlsfile
, cada linha é um URL.
Agora, gostaria de agrupar a cada 15 linhas urlsfile
e alimentar um grupo de URLs para o programa de cada vez. Como posso fazer isso no bash?
Observe que é aceitável criar um arquivo pdf por 15 URLs e, em seguida, mesclarei os arquivos PDF em um. Se a mesclagem puder ser feita pelo programa, isso é melhor.
Obrigado.
bash
text-processing
Tim
fonte
fonte
cat urlsfile | xargs wkhtmltopdf my.pdf
não funciona, porque eu sei apenas que o programa recebe entradas do cmdline args e não sei como fazê-lo receber entradas do stdin.wkhtmltopdf
fornece uma--read-args-from-stdin
opção que pode ser útilRespostas:
Com
xargs
:xargs -a urlsfile -n 15 bash -c 'wkhtmltopdf "$@" my_$$.pdf'
ou se o seu
xargs
não suportar-a
:cat urlsfile | xargs -n 15 bash -c 'wkhtmltopdf "$@" my_$$.pdf'
fonte
$* my_$$.pdf
significa isso ?"$@"
é o caminho certo #e se você gosta da saída, substitua
print
porsystem
fonte