PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash: mach 'was mit jedem PDF...



cookie170
06-10-2014, 21:25
Hallo,

bin kein Programmierer, wollte doch nur, dass ein Programm namens "pdfsizeopt.py" jedes PDF in einem Verzeichnis verkleinert.

Der Befehl für eine Datei foo.pdf lautet:

pdfsizeopt.py foo.pdf foo.pdf

Damit wird das Original mit der verkleinerten Version überschrieben.

Ich dachte, ich könnte einfach ein makefile machen und schreiben:


compile:
for i in *.pdf; do pdfsizeopt.py $i $i; done

Ähm, falsch gedacht. $i wird nicht expandiert, daher beschwert sich pdfsizeopt.py, dass es kein PDF findet.
Es gibt übrigens in dem Verzeichnis keine Komplikationen: keiner der Dateinamen enthält ein Leerzeichen, Sonderzeichen gibt's auch nicht.

Kann mir da jemand weiterhelfen?

Danke!

--------------

Edit: da ich schnell eine Antwort brauche, habe ich einen crosspost gewagt:
http://superuser.com/q/821828/82741

cookie170
07-10-2014, 09:27
OK, die einfache Antwort ist (siehe http://superuser.com/q/821828/82741 ):

for i in *.pdf; do pdfsizeopt.py "$i" "$i"; done

Aber da "make" leider ein Dollarzeichen isst, muss das makefile lauten:

compile:
for i in *.pdf; do pdfsizeopt.py "$$i" "$$i"; done