Software für kleinmachen und synchronisieren

Hallo liebe Experten:

Ich arbeite mit Ubuntu 8.4.01

Gibt es eine Software mit der ich alle Großbuchstaben in Datei- und Verzeichnisnamen in kleine umwandeln kann, die vielleicht sogar die Umlaute ä ü ö in ae ue oe umwandelt?
Ich arbeite wahlweise mit dem Linux- PC bringe oder über andere PCs mit einer externen Festplatte. Mit welcher Software kann ich zwei Verzeichnisse sychronisieren, dass wechselweise jeweils die neuere Version einer Datei auf das andere Verzeichnis geschrieben wird?

Danke
Gruß Gerold

Gibt es eine Software mit der ich alle Großbuchstaben in
Datei- und Verzeichnisnamen in kleine umwandeln kann, die
vielleicht sogar die Umlaute ä ü ö in ae ue oe umwandelt?

man rename

HTH

Hallo Gerold,

Ich arbeite mit Ubuntu 8.4.01

Ich arbeite wahlweise mit dem Linux- PC bringe oder über
andere PCs mit einer externen Festplatte. Mit welcher Software
kann ich zwei Verzeichnisse sychronisieren, dass wechselweise
jeweils die neuere Version einer Datei auf das andere
Verzeichnis geschrieben wird?

Dazu empfehle ich dir z.B. rsync
http://rsync.samba.org/
kannst Du auch mit graphischer Oberfläche haben, wenn es dir lieber ist, grsync:
http://www.opbyte.it/grsync/

Übrigens einen Tipp, wenn die Verbindung zu w-w-w mal zusammengebrochen ist (oder zu langsam :wink: kannst Du auch im Paketmanager selbst suchen:
Anwendungen -> Hinzufügen/Entfernen -> bei „Suche“ was passendes eingeben, hier z.B. synchron (weil Du was synchronisieren willst) und schon zeigt er dir etliche Pakete an, neben dem schon erwähnten rsync, z.B. auch unison, und Du kannst gleich das passende installieren.

Viele Grüße
Marvin

ich hab dafür ein Script erstellt
Hi,
für genau solche Fälle habe ich schon vor Jahren ein Skript angefangen. Das kannst du gerne verwenden (GPL) und es ändern auch noch mehr Zeichen mit denen Windows nicht klar kommt mit denen es manchmal Ärger gibt. Leerzeichen, Klammern, @s, Ausrufezeichen. Das ganze definiert rekursiv, mit Überschreibschutz für schon vorhandene Dateinamen und Längenbegrenzung.
Das Teil habe ich schon lange in gebrauch; seit dem ich heute die Änderungen für dich eingepflegt habe kommt manchmal ein „mv: Aufruf von stat für „…“ nicht möglich: No such file or directory“. Keine Ahnung was das bedeutet (weiß das hier jemand?), sollte aber wohl trotzdem gehen.

HTH,
J~

j~@darkstar:~/.bin$ cat specialrename
#!/bin/bash
# specialrename aendert Zeichen in Dateinamen:
# specialrename change characters in filenames (option: recursive):

# (spaces) -\> \_
# ä -\> ae
# ö -\> oe
# ü -\> ue
# Ä -\> Ae
# Ö -\> Oe
# Ü -\> Ue
# @,(,),[,],{,} -\> -
# ! -\> \_
#
# Bei Angabe einer Verzeichnistiefe als Argument
# erfolgt die Umwandlung rekursiv.
#
# Ist der neue Dateiname schon vorhanden, wird ein Zufallswert ergaenzt.
# (Unsicherheit des Überschreibens ca. 1:10000 !)

# Weiterhin wird die Länge des Dateinamens auf 60 Zeichen begrenzt.
#
################################################################
# (C) J~, 04.Jun2005, 23.Sep2007, 27.Aug2008
# This program is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation;
# either version 3 of the License, or (at your option)
# any later version.

# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
###############################################################



#
# Den InputFieldSeparator sichern 
# Save the old InputFieldSeparator 
ALT\_IFS=$IFS

# Zeilenumbruch in IFS schreiben
# Store newline to IFS
IFS='
'
# Dateien mit Leerzeichen im Namen finden und in die Schleife
# übergeben
# Find files with spaces in name and tranfer the list to loop

 if test $\*; then
 echo "Parameter angegeben: arbeite" $1 "Verzeichnisse tief"
 TIEFE=$1
 else
 echo "Kein Parameter angegeben: arbeite nur im aktuellen Verzeichnis"
 TIEFE=1
 fi

for ALTERNAME in $(find -maxdepth $TIEFE -name "\*\ \*" && find -maxdepth $TIEFE -name "\*(\*" && find -maxdepth $TIEFE -name "\*)\*" && find -maxdepth $TIEFE -name "\*\[\*" && find -maxdepth $TIEFE -name "\*\]\*" && find -maxdepth $TIEFE -name "\*{\*" && find -maxdepth $TIEFE -name "\*}\*" && find -maxdepth $TIEFE -name "\*@\*" && find -maxdepth $TIEFE -name "\*ä\*" && find -maxdepth $TIEFE -name "\*ü\*" && find -maxdepth $TIEFE -name "\*ö\*" && find -maxdepth $TIEFE -name "\*Ä\*" && find -maxdepth $TIEFE -name "\*Ü\*" && find -maxdepth $TIEFE -name "\*Ö\*" && find -maxdepth $TIEFE -name "\*\!\*" ) ; do

 # Leerzeichen, Klammern, @, Umlaute ersetzen
 # Replace spaces etc
 ZWISCHENNAME=$(echo $ALTERNAME | sed -e s/\ /\_/g | sed -e s/\\[/-/g | sed -e s/\\]/-/g | sed -e s/\(/-/g | sed -e s/\)/-/g | sed -e s/\\@/-/g | sed -e s/\{/-/g | sed -e s/\}/-/g | sed -e s/ä/\ae/g | sed -e s/ö/\oe/g | sed -e s/ü/\ue/g | sed -e s/Ä/\Ae/g | sed -e s/Ö/\Oe/g | sed -e s/Ü/\Ue/g | sed -e s/\\!/\_/g )

 # Dateinamen auf 60 Stellen begrenzen
 ZWISCHENNAMEEXT=${ZWISCHENNAME##\*.} # Erweiterung merken
 NEUERNAME=${ZWISCHENNAME%.\*} # alles bis zum letzten Punkt
 # (ausschliesslich)
 NEUERNAME=${NEUERNAME:0:60} # ab Pos 0, 60 Zeichen Laenge
 NEUERNAME="${NEUERNAME}.${ZWISCHENNAMEEXT}" # und wieder zusammenbauen...


 # Kontrollausgabe
 # output for control
 echo $ALTERNAME" -\> "$NEUERNAME # gibt Dateinamen aus

 # umbenennen
 # rename files
 if test -f $NEUERNAME; then
 echo $NEUERNAME schon vorhanden. Durch Zufallswert ergaenzt.
 mv "$ALTERNAME" "$NEUERNAME".$RANDOM
 else
 mv "$ALTERNAME" "$NEUERNAME"
 fi
done

# alten IFS wieder herstellen
# replace old IFS
IFS=$ALT\_IFS