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

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

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

wkhtmltopdf $(cat urlsfile) my.pdf

에서 urlsfile각 줄은 URL입니다.

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

15개의 URL마다 하나의 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

관련 정보