ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
571
571
EMPFEHLEN
-
Hallo @ all,
ich versuche gerade einen Befehl auszuführen der seine Infos au einer Datei bekommt.
In der Datei sind Namen von Bildern aufgelistet. Ich hab versucht die Standardeingabe auf die Datei umzuleiten aber das will einfach nicht klappen.
Hier ist mal mein Versuch: (Der Befehl kennt keinen rekursiven Aufruf, daher dieser Umweg)
Code :1
jpegoptim -fotm90 --strip-all <jpgs.txt
Was mache ich falsch?
Gruß Napofis
-
27.08.10 17:01 #2
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 498
Linux ist bei mir schon was länger her, aber versuchs mal mit:
Code :1
cat jpgs.txt | jpegoptim -fotm90 --strip-all
-
Der Versuch es mit einer pipe ging auch nicht?
Code :1
find -name *.jpg | jpegoptim -fotm90 --strip-all
-
-
27.08.10 17:08 #5
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Der Befehl liest ja auch gar nicht von der Standardeingabe. Vielmehr erwartet jpegoptim Dateienamen auf der Kommandozeile.
Siehe "man xargs"Code :1
find -name *.jpg -print0 | xargs -r0 jpegoptim -fotm90 --strip-all
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Ha genial es geht

danke danke
-
Hallo Ihr,
ich bins noch mal mit einem ähnlichen Problem, deshalb schreibe ich hier einfach weiter.
Ich habe zwei weitere Tools die leider nur immer eine Datei akzeptieren.
Hier mal die Syntax:
Code :1
cmd [options] outputfile inputfile
Wie kann ich nun diesem Programm die Dateien übergeben die ich mit find gefunden habe?
Die Inputfile ist immer gleich der Outpufile, man muss sie aber immer so angeben.
Vile Grüße Napofis
-
29.09.10 08:00 #8
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Evtl. solltest du dir mal die Manpage von xargs anschauen...
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Das hab ich, es hat mir aber nicht weiter geholfen.
Nun habe ich alles in eine for Schleife gebracht.
Gruß Napofis
-
02.10.10 12:51 #10
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Und die --max-args Option ist dir nicht aufgefallen?

Wozu könnte die wohl gut sein?--max-args=max-args
-n max-args
Use at most max-args arguments per command line. Fewer than max-args arguments will be used
if the size (see the -s option) is exceeded, unless the -x option is given, in which case
xargs will exit.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
-
11.10.10 09:34 #12
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Warum sollte dir das nichts nützen? Wenn deine Programme nur 1 Argument verarbeiten können, und du begrenzt die max. Anzahl der zu übergebendenen Argumente auf 1, dann werden die Programme immer mit max. 1 Argument aufgerufen...
\edit: Ich sehe gerade, du mußt den Programmen ja doch 2 Argument übergeben, wobei eines konstant bleibt. Dann müßte man die -I Option verwenden:
GrußCode :1
xargs -0rI '$' cmd '$' datei1
Geändert von deepthroat (11.10.10 um 09:39 Uhr)
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
BAT Datei erstellen die Programm aufruft und PW-Eingabe automatisiert
Von MScalli im Forum Java GrundlagenAntworten: 1Letzter Beitrag: 12.02.10, 11:26 -
Anfänger Problem- Java Eingabe durch Datei
Von Fraenzchen im Forum JavaAntworten: 9Letzter Beitrag: 12.03.08, 03:00 -
eingabe in eine text datei speichern !
Von DJIN im Forum C/C++Antworten: 6Letzter Beitrag: 30.07.07, 11:19 -
[flex] Eingabe von Datei lesen
Von Aiju im Forum C/C++Antworten: 4Letzter Beitrag: 26.01.06, 00:23 -
Eingabe von einer Datei holen
Von kevkev im Forum Linux & UnixAntworten: 7Letzter Beitrag: 21.12.05, 15:31





Zitieren
Login




