| Author | Message | 
  
    |  | 
        
					| Post subject: Sonderzeichen in Dateinamen  Posted: Mar 20, 2007 - 10:18 AM |  | 
  
    | 
        
          | 
  
 Joined: Apr 09, 2005
 Posts: 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
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Post subject: RE: Sonderzeichen in Dateinamen  Posted: Mar 20, 2007 - 11:13 AM |  | 
  
    | 
        
          | 
 
 Joined: Jul 11, 2006
 Posts: 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
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Post subject: RE: Sonderzeichen in Dateinamen  Posted: Mar 20, 2007 - 11:21 AM |  | 
  
    | 
        
          | 
  
 Joined: Apr 09, 2005
 Posts: 203
 
 
 |  | 
        
          | Wow. Ein Chat-Room kann nicht schneller sein, als dieses Forum.  |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Post subject: RE: Sonderzeichen in Dateinamen  Posted: Mar 22, 2007 - 08:52 AM |  | 
  
    | 
        
          | 
  
 Joined: Apr 09, 2005
 Posts: 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
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Post subject: RE: Sonderzeichen in Dateinamen  Posted: Mar 22, 2007 - 09:39 AM |  | 
  
    | 
        
          | 
 
 Joined: Jul 11, 2006
 Posts: 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.
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Post subject: färdsch  Posted: Mar 30, 2007 - 11:37 AM |  | 
  
    | 
        
          | 
  
 Joined: Apr 09, 2005
 Posts: 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
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
  
    |  |