
コマンドライン引数としてURLを受け取り、PDFファイルを出力するプログラムがあります。たとえば、コマンド置換を使用してファイルから入力URLを提供します。urlsfile
wkhtmltopdf $(cat urlsfile) my.pdf
ではurlsfile
、各行が URL です。
urlsfile
ここで、 の 15 行ごとにグループ化し、URL のグループを一度にプログラムに入力したいと思います。これを bash で実行するにはどうすればよいですか?
15 個の URL ごとに pdf ファイルを作成して、それらの pdf ファイルを 1 つに結合することも可能です。結合がプログラムで実行できる場合は、それがより望ましいです。
ありがとう。
答え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