[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]:Re: datei\ name.ext -> datei_name.ext



On Mon, Jan 10, 2000 at 07:08:43AM +0100, Marko Schulz wrote:

> Eine kleine runder Skriptspielchen am Morgen.
> 
> On Mon, Jan 10, 2000 at 12:29:32AM +0100, Jens Benecke wrote:
> > On Sun, Jan 09, 2000 at 10:32:13PM +0100, Frank Berger wrote:
> > 
> > > Aber sed habe ich immernoch nicht verstanden.
> > > Ich habe die man-page mal angefangen, aber so richtig hat sich mir das
> > > leider nicht erschlossen,
> sed würde ich auch nicht rein mit der Manpage lernen wollen. In Zeiten
> von Perl, Python und Co ist es eh nur noch so selten notwendig, daß es
> fragwürdig ist, ob es es lohnt für die verbleibenden Fälle noch zu
> lernen.

Richtig. Lerne lieber Perl - das Kamel auf den Büchern hat schon seinen
Grund. :)
 
> > ls -1 *.mp3 | while read X ; do mv -v "$X" "`echo "$X" | sed 's# #_#g'`" ; done
> > Mit Perl ist es sicherlich noch kürzer. :)
> Eher mit tr:

Von mir aus.
 
> Dann kann man noch das '-1' weglassen:
>   ls *.mp3 | while read X ; do mv -v "$X" "`echo "$X" | tr ' ' '_'`" ; done

ls zeigt bei mir, wenn die Dateinamen kurz genug sind, mehrspaltig an. Und
dann kommen in jedes $X zwei Namen... nicht gut.
 
>   for d in `find -name \*.mp3`; do mv -v "$d" "`echo "$d" | tr ' ' '_'`"; done

Das Teil hat Probleme mit Spaces in Dateinamen, die diese garantiert haben
(denn wir wollen sie ja gerade rausfiltern).
 
> Und wenn man dann die '... are the same files'-Meldungen nicht haben will:
>   for d in `find -name '* *.mp3'`; do mv -v "$d" "`echo "$d" | tr ' ' '_'`"; done
 
> womit wir wieder bei einer Länge von Jens' Lösung wären, nur besser. ;-)

Wie wärs mit

find . -iname "*.mp3" | while read X; do mv -v "$X" "`echo ...`" ; done

-iname: auch *.MP3 und *.Mp3 wird behandelt.
- find zeigt grundsätzlich einspaltig an.
- keine Probleme mit Spaces.
 
> Der Übersicht wegen, sollte man die Backticks (') eher durch $()
> ersetzen, aber das wird ja wieder länger. :-P
 
>             "HipHop braucht kein' Mensch, aber Mensch braucht HipHop"

Q: Was ist Hiphop? 
A: Wenn zwanzig rot/grün geschminkte Lederhosen/Stahlringträger nachts um
   eine brennende Mülltonne tanzen.

Q: Was ist Volksmusik?
A: Der Inhalt obiger Tonne.
 
;)

-- 
_ciao, Jens_______________________________ http://www.pinguin.conetix.de
·
"Please don't tell my parents I work for Microsoft. They still think I'm a
bartender in a gay brothel."				-- Usenet
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     756


Reply to: