Hallo! # ls *.zip a.zip b.zip c.zip # ls *.zip | xargs unzip $* Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip Wieso geht das nicht? Und 2) wenn der file name escaped werden muss (Klammern, Hochkommata,...), was mach ich dann? "$*" geht nicht. Danke, tschöö Timo
Hallo suse@nitwit.de ... hmm na ja On Tue, Nov 11, 2003 at 12:30:03PM +0100, suse@nitwit.de wrote:
# ls *.zip | xargs unzip $* Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip
find ./ -name "*.zip" -exec unzip {} \; Greetings Daniel -- "Golden rule of Sourcecode: 50% are comments, and the other 50% bugs!"
On Tuesday 11 November 2003 12:35, Daniel Lord wrote:
Hallo suse@nitwit.de ... hmm na ja
On Tue, Nov 11, 2003 at 12:30:03PM +0100, suse@nitwit.de wrote:
# ls *.zip | xargs unzip $* Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip
find ./ -name "*.zip" -exec unzip {} \;
Ok, ich nehme an, das funktioniet (./ ?), danke dafür. Aber trotzdem, wieso funktioniert meine Version nicht?
Hallo suse, * suse schrieb am 11.11.2003:
On Tuesday 11 November 2003 12:35, Daniel Lord wrote:
Hallo suse@nitwit.de ... hmm na ja
On Tue, Nov 11, 2003 at 12:30:03PM +0100, suse@nitwit.de wrote:
# ls *.zip | xargs unzip $* Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip
find ./ -name "*.zip" -exec unzip {} \;
Ok, ich nehme an, das funktioniet (./ ?), danke dafür. Aber trotzdem, wieso funktioniert meine Version nicht?
xargs führt folgendes aus: unzip a.zip b.zip c.zip unzip versucht b.zip und c.zip aus a.zip zu entpacken. Grüße, Tom
On Tue, Nov 11, 2003 at 12:58:52PM +0100, suse@nitwit.de wrote:
Aber trotzdem, wieso funktioniert meine Version nicht?
Weil xargs per default daraus "unzip a.zip b.zip c.zip" macht. und unzip denkt nun, es soll aus "a.zip" die Dateien b.zip und c.zip extrahieren. Deine Methode funktioniert uebrigens, sie macht nur nicht, was du erwartest. Schau dir mal "xargs --help", "man xargs" und "ls *.zip | xargs echo unzip " an. und $* ist Quatsch fuer deine Zwecke, wie es richtig geht steht in "info '(find.info.gz)Multiple Files'". -- Have fun, Peter
On Tuesday 11 November 2003 14:15, Peter Wiersig wrote:
On Tue, Nov 11, 2003 at 12:58:52PM +0100, suse@nitwit.de wrote:
Aber trotzdem, wieso funktioniert meine Version nicht?
Weil xargs per default daraus "unzip a.zip b.zip c.zip" macht.
Ahh....
Schau dir mal "xargs --help", "man xargs" und "ls *.zip | xargs echo unzip " an.
und $* ist Quatsch fuer deine Zwecke, wie es richtig geht steht in "info '(find.info.gz)Multiple Files'".
"It executes the COMMAND (default is `/bin/echo') one or more times" - sehr schön, ich brauch one time. Aber wie das geht, steht da nicht. Oder ich bin zu doof.
On Tuesday 11 November 2003 18:03, Peter Wiersig wrote:
On Tue, Nov 11, 2003 at 04:30:33PM +0100, suse@nitwit.de wrote:
Aber wie das geht, steht da nicht.
ls *.zip | xargs --max-args=1 unzip
Ach, das hatte ich sogar überlegt :-) Danke. Jetzt bleibt nur noch das Sonderzeichen-Problem. Der file name muss entweder in Anführungszeichen, oder die Zeichen müssen mit \ escaped werden. So wie ich man xargs gelesen haben, sollte xargs das eigentlich schon von sich aus tun - tut's aber offenbar nicht.
On Sat, Oct 11, 2003 at 08:48:34PM +0200, suse@nitwit.de wrote:
Ok, und wenn ich keinen Einfluss auf den input stream habe, was mach ich dann?
Schaun mer mal: $ man -k quote lessecho (1) - display arguments with quotes $ man lessecho NAME lessecho - display arguments with quotes DESCRIPTION lessecho is a program that simply echos its filename arguments on standard output. But any argument containing spaces is enclosed in quotes. Bastel dir einen ;) -- Have fun, Peter
Am Mit 12.11.03 um 08:57 CET schrieb suse@nitwit.de:
On Tuesday 11 November 2003 18:03, Peter Wiersig wrote:
On Tue, Nov 11, 2003 at 04:30:33PM +0100, suse@nitwit.de wrote:
Aber wie das geht, steht da nicht.
ls *.zip | xargs --max-args=1 unzip
Ach, das hatte ich sogar überlegt :-) Danke.
Jetzt bleibt nur noch das Sonderzeichen-Problem. Der file name muss entweder in Anführungszeichen, oder die Zeichen müssen mit \ escaped werden.
for i in *zip; do unzip "$i"; done
participants (5)
-
Daniel Lord
-
Peter Wiersig
-
Stefan Heinrichsen
-
suse@nitwit.de
-
Thomas Preissler