| Autor | Nachricht | 
  
    |  | 
        
					| Titel: Sonderzeichen in Dateinamen  Verfasst am: 20.03.2007, 10:18 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | Habe einen Haufen Dateien die einen Doppelpunkt enthalten. Für ReiserFS offenbar kein Problem. Das Speichern auf vfat umso mehr. Wie müte das Skript aussehen, das die Doppelpunkte rausschmeißt?
 Hab mich hier ja schon als sed-Depp geoutet.
 |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: Sonderzeichen in Dateinamen  Verfasst am: 20.03.2007, 11:13 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 11. Jul 2006
 Beiträge: 117
 
 
 |  | 
        
          | rename -f 'y/:/_/' "dateiname" 2>/dev/null 
 ersetzt dir den doppelpunkt mit nem unterstrich_
 läßte den unterstrich weg, wird der doppelpunkt gelöscht.
 
 find $HOME -name '*:*' -print >>liste.txt &>/dev/null
 
 erstellt dir ne liste mit dateien (statt home kanste hier den gewünschten ordner angeben)die nen doppelpunkt ham.
 
 jetz noch nen bichen seden und ne while schleife und dein script is fertig
   zu sed guck ma hier: http://sed.sourceforge.net/sed1line_de.html
 
 gruß  brummer
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: Sonderzeichen in Dateinamen  Verfasst am: 20.03.2007, 11:21 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | Wow. Ein Chat-Room kann nicht schneller sein, als dieses Forum.  |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: Sonderzeichen in Dateinamen  Verfasst am: 22.03.2007, 08:52 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | Das wars aber noch nicht ganz. Mit solchen Dateien mach ich dem Perl-Skript das Leben natürlich schwer: Bach-Ensemble Helmuth Rilling - 04 - Aria (A): Herr, was du willt, soll mir gefallen.ogg
 Vermute mal, daß es wegen der Leerzeichen abkackt, weil es die Datei nicht finden kann. Fehlermeldung kommt übrigens nur, wenn ich den Doppelpunkt mit Unterstrich ersetzen will. Laß ich den Ersatzstring leer, passiert gar nix.
 Befriedigt mich auch nicht, daß es ein perl-skript ist. Eine Idee mit mv?
 |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: Sonderzeichen in Dateinamen  Verfasst am: 22.03.2007, 09:39 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 11. Jul 2006
 Beiträge: 117
 
 
 |  | 
        
          | äh bei rename mußt du den Pfad mit angeben, dann solts gehn. leerzeichen in dateinamen fürn ja immer zu verwirrung, die solltest du auch gleich ersetzen.
 ne andere möglichkeit is vieleicht noch diese script:
 http://www.openaddict.com/documents/abs ... LANKRENAME
 das kanste ja nen bichen umbaun das es den : auch gleich ersetst.
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: färdsch  Verfasst am: 30.03.2007, 11:37 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | so scheint es geklappt zu haben. Merke: Du sollst nicht an Variablen, {} und "" sparen. So hat es auch mit den Leerzeichen im Pfad geklappt. 
 
 Code: 
#!/bin/sh
 find -type f -name *:* > $$dateiliste.tmp
 trap 'rm -f $$dateiliste.tmp; exit 1' INT
 while read x
 do
 alt="$x"
 n=`echo "$x"|sed 's/://g'`
 mv "${alt}" "${n}"
 done < $$dateiliste.tmp
 rm -f $$dateiliste.tmp
 
 |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
  
    |  |