Re: trying to script a command line

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Jones
Date:  
To: Main PLUG discussion list
Subject: Re: trying to script a command line
Hmm pdftk doesn't seem too friendly in regards to the order of the
arguments, it would be much easier if you could specify the input files
last on the command line....how does it tell the difference between the
filenames and the rest of the args (what if you have a file called
"output")??

Heres an example I found of using pdftk:
"Merge Two or More PDFs into a New Document
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf"

Again...what happens if you have a file called "cat" or "cat output"?
What crappy programming.

Give this a try:
FILES=`cat file.txt | sed 's/ /\\ /g' |xargs`; pdftk $FILES cat output
I-a.pdf

-Charles

Craig White wrote:
> Again, that works but it fails because the PDF includes on the last file. As I said, I don't think an xargs thing is going to work at all because as the man page states...the '-' option is to pass only a single file via stdin.
>
> Craig
>
> On Tue, 2008-03-04 at 19:10 -0700, Charles Jones wrote:
>
>> Ah those darn spaces sure cause problems :) Give this a try:
>>
>> $ cat I-A-files.txt | sed 's/ /\\ /g' | xargs cat | pdftk - output
>> I-a.pdf verbose
>>
>> It works for my test case:
>> $ cat file.txt
>> file with spaces
>> some other file
>>
>> $ cat "file with spaces"
>> This is the contents of a file with spaces
>> $ cat some\ other\ file
>> This is some other file
>>
>> $ cat file.txt | sed 's/ /\\ /g' |xargs cat
>> This is the contents of a file with spaces
>> This is some other file
>>
>> Probably a more elegant way to do it, but I'm late for dinner :-)
>>
>> -Charles
>>
>>
>> Craig White wrote:
>>
>>> That doesn't seem to work. I quoted the part of the man page that the
>>> '-' is used to pass only a single PDF into pdftk via stdin and thus the
>>> xargs thing seems not to fly.
>>>
>>> $ cat I-A-files.txt | xargs -0 pdftk cat output I-A.pdf verbose
>>> Error: No input files. Exiting.
>>> Errors encountered. No output created.
>>> Done. Input errors, so no output created.
>>>
>>> Thanks
>>>
>>> Craig
>>>
>>> On Tue, 2008-03-04 at 17:24 -0700, Charles Jones wrote:
>>>
>>>
>>>> Give this a try:
>>>>
>>>> cat /path/to/filenames_file.xt |xargs pdftk
>>>>
>>>> -Charles
>>>>
>>>> Craig White wrote:
>>>>
>>>>
>>>>> I have an awkward situation with pdftk
>>>>>
>>>>> I have a file with filenames that I want to pass to pdftk as input
>>>>> files.
>>>>>
>>>>> according to the man page...
>>>>> <input PDF files | - | PROMPT>
>>>>> A list of the input PDF files. If you plan to combine these PDFs
>>>>> (without using handles) then list files in the order you want
>>>>> them combined. Use - to pass a single PDF into pdftk via stdin.
>>>>>
>>>>> and thus, this doesn't work...
>>>>>
>>>>> pdftk `cat "/mypath/to/I-A-files.txt"` cat output I-A.pdf verbose
>>>>>
>>>>> fails on spaces within the paths/filenames in that file.
>>>>>
>>>>> I have tried both escaping the spaces with \ and enclosing each path
>>>>> within a double quote but neither works.
>>>>>
>>>>> I have also tried (which fails)...
>>>>>
>>>>> $ cat "/mypath/to/I-A-files.txt" | pdftk - cat output I-A.pdf verbose
>>>>> Error: Failed to open PDF file:
>>>>>    -
>>>>> Errors encountered.  No output created.
>>>>> Done.  Input errors, so no output created.
>>>>> sh-3.2$ ls -l
>>>>> total 4440
>>>>> -rw-r--r-- 1 craig administrative      10 2008-03-04 15:15 doc_toc.html
>>>>> -rw-r--r-- 1 craig administrative    1898 2008-03-04 15:30 I-A-files.txt

>>>>>
>>>>> Any suggestions on this?
>>>>>
>>>>> T
>>>>>
>>> ---------------------------------------------------
>>> PLUG-discuss mailing list -
>>> To subscribe, unsubscribe, or to change your mail settings:
>>> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>>>
>>>
>> ---------------------------------------------------
>> PLUG-discuss mailing list -
>> To subscribe, unsubscribe, or to change your mail settings:
>> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>>
>
> ---------------------------------------------------
> PLUG-discuss mailing list -
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>


---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss