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

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



Frank Berger hat gesagt: // Frank Berger wrote:

> Ihr könnt Euch sicher schon denken, was ich vorhabe. Ich habe jede
> Menge mp3-Files meiner CDs hier, aber der Ripper hat heimlich (hätte
> ich auch vorher mal nach sehen können :-( überall Spaces gesetzt. Nun
> will ich die Dateien und Pfade natürlich nicht einzeln umbennen,
> sondern lieber per Script. 

Ein gut verstecktes Tool, das bei Perl mitgeliefert wird ist rename(1p). 
Eigentlich nur ein kleines Skript, das genau das macht, was der Name sagt:
Dateien umbenennen. Dabei braucht man von Perl nicht mehr zu verstehen, als
die regulären Ausdrücke (Manual: perlre(1p)). Zwei Beispiele sind in der
Man-Page zu rename, dein Problem sollte sich so lösen lassen:

$ ls -l
-rw-rw-r--   1 freak    freak           0 Jan 11 10:44 leer zeichen leer    zeichen
-rw-rw-r--   1 freak    freak           0 Jan 11 10:44 leer zeichen leer  zeichen2222

$ rename 's/\s+/_/g' *


$ ls
leer_zeichen_leer_zeichen      leer_zeichen_leer_zeichen2222

Die Ersetzung beim "rename"n tauscht Leerzeichen (\s), davon beliebig viele
(+), gegen den Unterstrich aus, und zwar über die ganze Zeile hinweg (g).

bye,
-- 
                                                 __    __
 Frank Barknecht       ____ ______   ____ __ trip\ \  / /wire ______
                      / __// __  /__/ __// // __  \ \/ /  __ \\  ___\	
                     / /  / ____/  / /  / // ____// /\ \\  ___\\____ \	
                    /_/  /_____/  /_/  /_//_____// /  \ \\_____\\_____\
                                                /_/    \_\ 
------------------------------------------------
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:     758


Reply to: