Gentoo Archives: gentoo-user-de

From: Eckard Brauer <e.brauer@×××××××××.de>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] mehrere Dateien automatisiert umbennen
Date: Thu, 12 Oct 2006 06:41:56
Message-Id: 200610120839.16232.e.brauer@intershop.de
In Reply to: [gentoo-user-de] mehrere Dateien automatisiert umbennen by Jan Girlich
1 Am Mittwoch, 11. Oktober 2006 23:50 schrieb Jan Girlich:
2 ...
3 >
4 > jan@jan ~/Bilder $ find . -name '*.jpg' -exec echo \{\}
5 > /media/usbdisk/`echo \{\}` | sed -e 's/://g' \;
6 > sed: kann ; nicht lesen: Datei oder Verzeichnis nicht gefunden
7 > find: Fehlendes Argument für "-exec".
8 >
9 > Warum will sed immer ";" als Eingabedatei lesen?
10
11 Sieht für mich aus, als hättest Du so ziemlich alles gequotet, was Du nicht
12 quoten mußt ;-) Die {} hab ich immer so stehen und geht auch, anstatt den ``
13 ist wohl $() vorteilhafter (zumindest besser zu unterscheiden, aber ich
14 verwende auch beides), aber mit derlei Ausdrücken im -exec-Argument von find
15 hatte ich noch kein Glück - wird wohl 'ne Subshell aufgemacht, und dann
16 klappt 'was mit der Argument-/Ergebnisübergabe nicht. Und weil die angehängte
17 Pipeline ins sed danach steht, glaubt die Shell, daß das find zuende ist und
18 übergibt das Semikolon als Dateiname ans sed - ersteres mault, weil's sein
19 heliebtes Semikolon vermißt und letzteres kann die Datei namens ";" nicht
20 finden. Eine Funktionierende Variante ist unten.
21
22 > Und wie kann ich das bitte einfacher haben? Oder ist mein Ansatz schon
23 > mal grundsätzlich der richtige?
24
25 Wie schon geschrieben, mmv. Wenn Du aber öfter auf Fremdsystemen zu tun hast,
26 wo Du nicht einfach für'n kleines Problemchen 'was neu installieren kannst
27 oder einfach Shell üben willst, versuch' mal das:
28
29 find . -name '*.jpg' | while read file; do echo mv $file $(echo "$file" |
30 sed -e 's+\./+/media/usbdisk/+' -e 's/://g'); done
31
32 Viele Grüße!
33 Eckard
34
35 --
36 gentoo-user-de@g.o mailing list

Replies

Subject Author
Re: [gentoo-user-de] mehrere Dateien automatisiert umbennen Dirk Heinrichs <ext-dirk.heinrichs@×××××.com>