Intelligente Lösungen
in neuer Dimension

Sonderzeichen im Dateinamen

Manchmal werden Dateien mit merkwürdigen Zeichen im Dateinamen angelegt und man wird sie mit den üblichen Befehlen nicht mehr los. Hier zeige ich, wie man sie findet und löscht.

Erzeugung der Dateien

1
2
3
4
5
6
7
8
9
10
$ date >"dies-ist-das-aktuelle-datum.txt"
$ date >"$(printf "dies\nist\ndas\naktuelle\ndatum.txt")"
$ ls -ltra
...
-rw-rw-r--  1 uli  uli      28  3. Feb 09:40 dies-ist-das-aktuelle-datum.txt
-rw-rw-r--  1 uli  uli      28  3. Feb 09:41 dies
ist
das
aktuelle
datum.txt

Ermitteln der Dateien

1
2
3
4
5
6
$ find . -name '*[![:print:]]*'
./dies?ist?das?aktuelle?datum.txt

$ ls -l ./dies?ist?das?aktuelle?datum.txt
-rw-rw-r-- 1 uli uli 28  3. Feb 09:40  ./dies-ist-das-aktuelle-datum.txt
-rw-rw-r-- 1 uli uli 28  3. Feb 09:41 './dies'$'\n''ist'$'\n''das'$'\n''aktuelle'$'\n''datum.txt'

Löschen der Dateien

1
$ find . -name '*[![:print:]]*' -print0|xargs -0 rm

Änderungen

  • 2024-02-02: Erste Version