|
|
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| == Dateinamen bereinigen ==
| | [[Kategorie:Linux/Datei/Eigenschaft]] |
| {| class="wikitable sortable options"
| |
| |-
| |
| ! Werkzeug !! Beschreibung
| |
| |-
| |
| | [[detox]] || benennt Dateien um, damit sie leichter zu handhaben sind
| |
| |-
| |
| | [[convmv]] || konvertiert den Zeichensatz von Dateinamen
| |
| |-
| |
| | [[fslint]] || Utility to Fix Problems with Filesystems Data
| |
| |-
| |
| | mv/sed || $ '''mv 'file' $(echo 'file' | sed -e 's/[^A-Za-z0-9._-]/_/g')'''
| |
| |-
| |
| | [[rename]] ||
| |
| rename 's/[^\x00-\x7F]//g' *
| |
| find . -exec rename 's/[^\x00-\x7F]//g' "{}" \;y
| |
| |-
| |
| | find/perl ||
| |
| find /path/to/files -type f -print0 | \
| |
| perl -n0e '$new = $_; if($new =~ s/[^[:ascii:]]/_/g) {
| |
| print("Renaming $_ to $new\n"); rename($_, $new);
| |
| }'
| |
| |-
| |
| | [[bleachbit]] || Unnötige Dateien entfernen, Speicherplatz freigeben und die Privatsphäre wahren
| |
| |}
| |
| | |
| == Dateien mit führendem Bindestrich ==
| |
| Einige Linux-Tools erzeugen Dateien mit führendem Bindestrich oder Bindestrich (-) in Dateinamen. Oder Ihr handgeschriebenes Programm kann versehentlich Dateinamen erzeugen, die mit einem Minus beginnen. Wenn Sie versuchen, solche Dateien mit ls, rm, cp, mv oder chmod zu entfernen, zu kopieren, umzubenennen oder anderweitig darauf zuzugreifen, erhalten Sie die folgenden Fehlermeldungen.
| |
| [cmd]: Ungültige Option --
| |
| | |
| Das liegt daran, dass Ihr Linux-System das führende Minus im Dateinamen als Teil einer Befehlszeilenoption interpretiert und eine ungültige Option oder einen nicht existierenden Modusfehler ausgibt.
| |
| | |
| Um mit einem führenden Bindestrich im Dateinamen unter der Linux-Shell umzugehen, können Sie eine der beiden folgenden Methoden ausprobieren.
| |
| | |
| ; Methode Eins
| |
| Da ein führendes Minuszeichen im Dateinamen zu Mehrdeutigkeiten bei der Erkennung des Dateinamens führt, müssen Sie diese Mehrdeutigkeit einfach beseitigen, indem Sie dem Dateinamen einen Pfadnamen voranstellen. Wenn Sie zum Beispiel eine Datei mit dem Namen -my.txt im aktuellen Verzeichnis haben, können Sie sie wie folgt aufrufen.
| |
| $ chmod 600 ./-mein.txt
| |
| $ rm ./-mein.txt
| |
| | |
| ; Methode zwei
| |
| Die zweite Methode, mit einem führenden Bindestrich umzugehen, besteht darin, ein spezielles Argument zu nutzen, das von getopt() als "Ende der Option" interpretiert wird. Die meisten Standard-Linux-Befehlszeilenprogramme verwenden getopt(), um Befehlszeilenargumente zu verarbeiten. Wenn getopt() auf -- stößt, stoppt es den Options-Scan-Prozess. Fügen Sie daher einfach -- vor dem Dateinamen ein, um deutlich zu machen, dass der Dateiname mit Bindestrich nicht Teil der Kommandozeilenargumente ist.
| |
| $ chmod -- 600 -meine.txt
| |
| $ rm -- -meine.txt
| |
| | |
| | |
| [[Kategorie:Linux/Datei]] | |