Mailinglist Archive: opensuse-de (4938 mails)

< Previous Next >
Re: &quot; &quot; durch &quot;_&quot; ersetzen
  • From: eilert@xxxxxxxxxxxxxxxxxxxxxxxx (Eilert Brinkmann)
  • Date: Sun May 28 21:11:51 2000
  • Message-id: <xttr9amqt0o.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>



Andreas Bunge <andreas.bunge@xxxxxxxxxxxxxxxx> wrote:
Hallo, wie kann ich ls oder find dazu bringen, daß eine Ausgabe, die
Leerzeichen enthält, als EIN Ausdruck angesehen wird? Das Problem ist,
daß das Leerezichen anscheinend als Trennzeichen interpretiert wird.

Ja, das ist richtig, nur liegt das nicht an ls oder find, sondern an
der Shell. Also muß man sich eine Methode suchen, bei der die bash das
nicht mehr tut...

Ziel der Aktion soll sein, daß alle Dateien eines Verzeichnisses und
seiner Unterverzeichnisse so umbennant werden, daß kein Leerzeichen mehr
vorkommt (" " => "_").

Das kann man für das aktuelle Verzeichnis mit sämtlichen
Unterverzeichnissen beispielsweise so tun:

find . | grep ' ' | \
while read i; do \
mv "$i" "`echo "$i" | sed 's/ /_/g'`" \
done

(Vorsicht, ungetestet. Vielleicht erst einmal mit echo statt mv
ausprobieren.) Falls auch in Verzeichnisnamen Leerzeichen vorkommen,
ist wohl vorher ein gesonderter Durchlauf mit `find . -type d' am
Anfang nötig.

Na ja, das war jetzt eine Möglichkeit -- wahrscheinlich werden in den
nächsten Mails noch ein halbes Dutzend Alternativen aufgezählt ;-)

Eilert

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik
eilert@xxxxxxxxxxxxxxxxxxxxxxxx - eilert@xxxxxxx - eilert@xxxxxxxxxxxxxx
http://www.informatik.uni-bremen.de/~eilert/

---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx


< Previous Next >
Follow Ups