我有一个程序,它将 url 作为命令行参数并输出一个 pdf 文件。例如,我使用命令替换来提供文件中的输入 urlurlsfile
wkhtmltopdf $(cat urlsfile) my.pdf
在 中urlsfile
,每一行都是一个 url。
现在我想将 中的每 15 行进行分组urlsfile
,并一次向程序提供一组 url。我怎样才能在 bash 中做到这一点?
请注意,每 15 个网址创建一个 pdf 文件是可以接受的,然后我会将这些 pdf 文件合并为一个。如果合并可以由程序完成,那就更好了。
谢谢。
答案1
和xargs
:
xargs -a urlsfile -n 15 bash -c 'wkhtmltopdf "$@" my_$$.pdf'
或者如果你xargs
不支持-a
:
cat urlsfile | xargs -n 15 bash -c 'wkhtmltopdf "$@" my_$$.pdf'
答案2
gawk '{ f=f " " $0}
NR%15==0 { print("wrhtml2pdf " f " " NR/15 ".pdf") ; f=""}' urls
如果您喜欢输出,请替换print
为system