파일의 행을 그룹화하고 한 번에 그룹을 프로그램에 공급합니다.

파일의 행을 그룹화하고 한 번에 그룹을 프로그램에 공급합니다.

URL을 명령줄 인수로 사용하고 PDF 파일을 출력하는 프로그램이 있습니다. 예를 들어, 명령 대체를 사용하여 파일에서 입력 URL을 제공합니다.urlsfile

wkhtmltopdf $(cat urlsfile) my.pdf

에서 urlsfile각 줄은 URL입니다.

이제 15줄마다 그룹화 urlsfile하고 한 번에 URL 그룹을 프로그램에 공급하고 싶습니다. Bash에서는 어떻게 할 수 있나요?

URL 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

관련 정보