GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

Problematische Dateinamen „reparieren“.

Windows hat eine Reihe von reservierten Zeichen, die in Datei-/Ordnernamen nicht erlaubt sind:

◦Die folgenden reservierten Zeichen:
◾<(kleiner als)◾> (größer als)
◾:(Doppelpunkt)
◾” (doppeltes Anführungszeichen)
◾/ (Schrägstrich )
◾\ (Backslash)
◾| (senkrechter Balken oder Rohr)
◾? (Fragezeichen)
◾* (Stern)

Ich rate auch von der Verwendung von geschweiften Klammern {}

ab

Der folgende Codeauszug kann verwendet werden, um einen Ordner voller Dateien „aufzuräumen“ und die großen Show-Stopper loszuwerden. In diesem Auszug ersetze ich bestimmte Zeichen wie Leerzeichen und :durch _ und lösche andere Zeichen. Ich ersetze auch ein resultierendes „doppeltes Leerzeichen“ __ durch ein einzelnes _

Fühlen Sie sich frei, nach Bedarf zu erweitern und anzupassen.

Das Piping von ls in ein while read umgeht die Notwendigkeit, alles richtig zu maskieren, wenn es an mv gesendet wird

###
# Fix badly names files
# Windows doesn't really like "::" in filenames, we'll also get rid of other problematic characters.
###

ls | while read -r FILE ; do
  mv -u "${FILE}" $(echo "${FILE}" | tr ' ' '_' | tr -d '[{}(),\!]' | tr ':' '_' | sed 's/__/_/g') 2>/dev/null
done

Webmin
  1. So manipulieren Sie Dateinamen mit Leerzeichen und Sonderzeichen in Linux

  2. Behebung von Spamassassin in Debian Jessie(8)

  3. Terminal-Eingabeaufforderung überschreibt aktuelle Zeile?

  4. Kann Sed Zeilenumbrüche ersetzen?

  5. Ssh – Druckbare Nicht-ASCII-Zeichen im Sshd-Banner?

Tr-Befehl in Linux mit Beispielen

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

Einfrieren von Ubuntu beim Booten behoben

Manpage-Zitatzeichen?

Linux tr-Befehl mit Beispielen

Schwanz- und Platzhalterzeichen