{"id":12274,"date":"2023-12-17T03:01:21","date_gmt":"2023-12-17T02:01:21","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=12274"},"modified":"2024-01-03T14:08:52","modified_gmt":"2024-01-03T13:08:52","slug":"12274","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/12\/17\/12274\/","title":{"rendered":"Ung\u00fcltiger Dateiname \u2013 mit rename Problemzeichen entfernen"},"content":{"rendered":"<p>Mit <strong>rename<\/strong> kann man in Dateinamen vieler Dateien gleichzeitig sehr leicht Zeichen ersetzen oder l\u00f6schen.<\/p>\n<p>1. Man wechselt im Terminal mit <em>cd<\/em> ins Verzeichnis mit den Dateien, die man umbenennen m\u00f6chte.<br \/>\n2. Man gibt den Befehl ein \u2013 beispielsweise ersetzt man mit folgendem Befehl ein Leerzeichen durch einen Unterstrich:<br \/>\n<code>rename 's\/ \/_\/g' *<\/code><br \/>\nDer Stern am Ende des Befehls bedeutet, dass alle Dateien im aktuellen Verzeichnis beachtet werden sollen. Man k\u00f6nnte an seiner Stelle auch einfach ein paar Dateien aus dem Dateimanager ins Terminalfenster ziehen (wenn das Terminal es erlaubt) oder deren kompletten Pfad angeben.<\/p>\n<p>Das Muster ist hier also:<br \/>\n<code>rename 's\/alt\/neu\/g' *<\/code><\/p>\n<p>Gewisse Dateisysteme erlauben gewisse Zeichen in den Dateinamen nicht. Bei NTFS oder exFAT sind das:<\/p>\n<p>\u25cf Doppelpunkt (:)<br \/>\n\u25cf Schr\u00e4gstrich (\/)<br \/>\n\u25cf Umgekehrter Schr\u00e4gstrich (\\)<br \/>\n\u25cf Fragezeichen (?)<br \/>\n\u25cf Anf\u00fchrungszeichen (&#8222;)<br \/>\n\u25cf Senkrechter Strich (|)<br \/>\n\u25cf Asterisk (*)<br \/>\n\u25cf Kleiner als (&lt;)<br \/>\n\u25cf Gr\u00f6\u00dfer als (&gt;)<\/p>\n<p>Oft, wenn man ein ganzes Verzeichnis von einem ext4-Datentr\u00e4ger beispielsweise auf einen exFAT- oder NTFS-formatierten USB-Stick verschieben will, hapert es, weil irgendwo im Verzeichnis es Dateien mit solchen Zeichen im Dateinamen gibt. Abgespeicherte html-Dateien sind es meist, die hier dazwischengr\u00e4tschen. Es gibt eine Fehlermeldung. Deshalb muss man diese Dateien vor dem Verschieben umbenennen, d.h. diese problematischen Zeichen entfernen oder ersetzen. Das macht man auf dem ext4-Datentr\u00e4ger.<\/p>\n<p>Mit obigem Befehl, mit dem richtigen Problemzeichen best\u00fcckt, geht das Umbenennen bei einzelnen Dateien sehr einfach \u2013 drei Beispiele:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-12276 aligncenter\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Rename_rot-300x40.png\" alt=\"\" width=\"690\" height=\"92\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Rename_rot-300x40.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Rename_rot-150x20.png 150w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Rename_rot.png 616w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/p>\n<p>Das Muster ist hier gleich, aber vor das Problemzeichen geh\u00f6rt noch ein Backslash, ein umgekehrter Schr\u00e4gstrich:<br \/>\n<code>rename 's\/\\Problemzeichen\/\/g' \/Pfad\/zur\/Datei<\/code><\/p>\n<p>Interessant ist der Befehl nat\u00fcrlich besonders deshalb, weil man ihn auf alle Dateien eines Verzeichnisses loslassen kann, ohne die fehlerhaften kennen zu m\u00fcssen. Man wechselt mit <em>cd<\/em> ins Verzeichnis und wendet ihn an \u2013 statt einen Pfad wie oben setzt man einen Stern (mit Abstand davor). Rename nimmt sich die &#8222;S\u00fcnder&#8220; selber vor. Das Umbenennen wiederholt man f\u00fcr jedes fragliche Zeichen. Bei abgespeicherten Webseiten sind es oft die drei Zeichen der drei Beispiele hier oben, die in den Dateinamen vorkommen &#8211; sind sie gel\u00f6scht oder ersetzt, ist das Problem meist vom Tisch.<\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"12274\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">5    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"12274\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\">0<\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Mit rename kann man in Dateinamen vieler Dateien gleichzeitig sehr leicht Zeichen ersetzen oder l\u00f6schen. 1. Man wechselt im Terminal mit cd ins Verzeichnis mit den Dateien, die man umbenennen m\u00f6chte. 2. Man gibt den Befehl ein \u2013 beispielsweise ersetzt man mit folgendem Befehl ein Leerzeichen durch einen Unterstrich: rename &#8217;s\/ \/_\/g&#8216; * Der Stern [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":12288,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,623,4],"tags":[],"class_list":["post-12274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-datei-verzeichnis-befehle","category-terminal"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/12274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=12274"}],"version-history":[{"count":25,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/12274\/revisions"}],"predecessor-version":[{"id":13397,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/12274\/revisions\/13397"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/12288"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=12274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=12274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=12274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}