Automatisches umtauschen von Umlauten.

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von BurningIce, 09.12.2007.

  1. #1 BurningIce, 09.12.2007
    BurningIce

    BurningIce Grünschnabel

    Dabei seit:
    20.06.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Hi,

    hat hier jemand vielleicht mal son Skript geschrieben das Umlaute in Dateinamen in normale Buchstaben umtauscht. Für ganze Verzeichnisbäume.

    also /home/ich/bilder/pornos/dickemöpse.jpg wird zu dickemoeps.jpg und
    /home/ich/dömsdömd wird zu doemsdoemd?

    grüsse
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 09.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja ich! ;)
     
  4. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Ich auch! Aber in Perl, über eine Textdatei "lernfähig" (gibt ja auch nicht-deutsche Sonderzeichen...)
     
  5. Psimon

    Psimon pSY

    Dabei seit:
    16.10.2005
    Beiträge:
    71
    Zustimmungen:
    0
    Ort:
    München
    Kann ich das bitte auch haben?
     
  6. #5 Wolfgang, 10.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ein entsprechendes fertiges Skript ist in der Perl FAQ zu finden!

    BTW Was bitte sind normale Buchstaben?

    Falls du ASCII Standard meinst, sind da auch die häßlichen Leerzeichen mit includiert!
     
  7. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Hat das eine einlesbare Textdatei
    Code:
    <Zeichen>[Feldtrenner]<Ersatz>
    
    wo man beliebig unten was rein pasten kann und das Script baut das um?
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Jabo, 11.12.2007
    Zuletzt bearbeitet: 11.12.2007
    Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Oh ha. Das war 5 Jahre her, ich mußte ne Weile suchen und das mag auch zu überarbeiten sein.

    Die Idee ist aber einfach: Eine Textdatei mit Feldtrenner einlesen, wo vorne ein "blah" steht, das durch das dahinter stehende "blubber" ersetzt werden soll. Verbesserungsvorschläge sind vermutlich sinnvoll.

    Es ersetzt übrigens keine Sonderzeichen in Verzeichnisnamen, in der entsprechenden Schleife könnte man das aber einbauen.

    Ich deklariere das mal als PHP, weil die Forensoftware ja PHP ist und entsprechende Syntaxhervorhebung kann... und es durchsucht test/ - da muß natürlich was variables hin.

    PHP:
    #!/usr/bin/perl
    print "Content-type: text/plain\n\n";

    $|=
    1;

    &
    filename("test/");

    sub filename {
      
    local $replace_file "sonderzeichen.txt";
      $!=
    undef;
      
    open(DATEI"<$replace_file");
      print $!;
      @
    zeilen = <DATEI>;
      
    close(DATEI);

      for(@
    zeilen){
         @
    split_line split(/-!-/, $_);
         
    $from_to{$split_line[0]} = $split_line[1];
      }

      
    local ($searchdir) = $_[0];
      print 
    "Open $searchdir\n";
      
    opendir(DIR$searchdir);
      
    local(@files) = readdir(DIR);
      print 
    "Basis-Dateiliste:\n";
      print 
    "Dirname=$searchdir\n";
      for(@
    files){
           print 
    "- $_";
           if(-
    "$searchdir$_"){
              print 
    " - Verzeichnis";
           }
           print 
    "\n";
      }
      print 
    "\n";
      
    closedir DIR;

      for 
    $dat_name(@files){
        if (-
    "$searchdir$dat_name"){
          if ((
    $dat_name ne ".") and ($dat_name ne "..")){
            
    push(@verzeichnisse,"$searchdir$dat_name");
            &
    filename("$searchdir$dat_name/");
          }
        }
        else{
          
    $dat_name_new $dat_name;
          
    # Liste "sonderzeichen.txt" veraebeiten
          
    for(keys %from_to){
              
    $dat_name_new =~ s/$_/$from_to{$_}/g;
          }
          
    $dat_name_new =~ s/[^A-Za-z0-9_\.]/_/g;
          
    $copy = `copy $searchdir$dat_name $searchdir$dat_name.ren`;
          print 
    "\nCopy: $copy\n";
          
    rename("$searchdir$dat_name","$searchdir$dat_name_new");
          print 
    "Umbenennung $dat_name -> $dat_name_new";
        }
      }
    }
    1;
     

    Anhänge:

  10. blacky

    blacky Doppel-As

    Dabei seit:
    25.07.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Hi, Leute!
    Das Script hat leider eine kritische Schwachstelle, denn wenn die Dateinamen eingelesen werden, liest er bei mir nicht "Ö" sondern "Ã". Ich habe versucht das auszugeichen indem ich in die Tabelle statt dem "Ö" "Ã" eingetragen habe, aber leider wird dieses Zeichen auch für "Ü" verwendet. Habt ihr eine Idee?
     
Thema:

Automatisches umtauschen von Umlauten.

Die Seite wird geladen...

Automatisches umtauschen von Umlauten. - Ähnliche Themen

  1. Apt: Automatisches Auflösen von Abhängigkeiten

    Apt: Automatisches Auflösen von Abhängigkeiten: Guten Abend, ich habe vor kurzem Debian 5 neu installiert (Grundsystem). Anschließend habe ich KDE nachinstalliert. Bis jetzt habe ich...
  2. openldap automatisches anlegen von Home-Ordner

    openldap automatisches anlegen von Home-Ordner: Hi! Also ich habe auf einem Ubuntu 8.10 Server openldap installiert und mit phpldapadmin konfiguriert. Mit diesem Webinterface habe ich dann...
  3. Automatisches mounten von Partition unter Gnom unterbinden

    Automatisches mounten von Partition unter Gnom unterbinden: Hallo Vorweg, es geht um Gnome unter Ututo (argent. Gentoo-Derivat) und as automatsiche Mounten von Partitionen. Da ich eher wmaker, fluxbox...
  4. [UNRAR] Automatisches löschen der .rar-Dateien nach dem Entpacken

    [UNRAR] Automatisches löschen der .rar-Dateien nach dem Entpacken: Hallo, ich konnte mich einige Zeit ohne Hilfe in der weiten Welt von Linux mehr oder weniger zurecht finden aber jetzt habe ich mal wieder ein...
  5. Automatisches FTP Backup

    Automatisches FTP Backup: Hallo, bei uns mir Zuhause hängen zwei Server im Netz, und ich möchte, das einer (der mit Ubuntu läuft) cih automatisch jede Woche mit dem...