{"id":1470,"date":"2010-11-07T13:04:35","date_gmt":"2010-11-07T12:04:35","guid":{"rendered":"http:\/\/www.bdjl.de\/localhost\/?p=1470"},"modified":"2010-11-08T14:45:00","modified_gmt":"2010-11-08T13:45:00","slug":"umbenennen","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=1470","title":{"rendered":"Umbenennen"},"content":{"rendered":"<p>Die wie immer \u00fcble Ausgangslage, wenn ich Materialienlieferungen f\u00fcr den LFB erhalte:<\/p>\n<p><a href=\"http:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_001.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1475\" title=\"Auswahl_001\" src=\"http:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_001-450x233.png\" alt=\"\" width=\"450\" height=\"233\" srcset=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_001-450x233.png 450w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_001.png 660w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>Auf der Suche nach einem ordentlichen Skript f\u00fcr das Umbenennen von Datei- und Verzeichnisnamen bin ich <a href=\"http:\/\/www.linux-community.de\/Community\/Fragen\/Bash-Rename-Skript\" target=\"_blank\">hier<\/a> \u00fcber die Arbeit von Andi Latte gestolpert, die ich nur unwesentlich f\u00fcr meine Bed\u00fcrfnisse anpassen musste:<\/p>\n<p><code><br \/>\n#!\/bin\/bash<br \/>\n# Ersetzt Zeichen im Dateinamen rekursiv<br \/>\n# Vorlage: http:\/\/www.linux-community.de\/Community\/Fragen\/Bash-Rename-Skript<br \/>\n# Aufruf des Skriptes auf Korrektheit pruefen<br \/>\nif [ -z $1 ];then echo Verwendung: umbenennen \"\/PFAD\" ; exit 0;fi<br \/>\n# Meldung ungueltige Kodierung bearbeiten<br \/>\nconvmv -f iso-8859-15 -t utf8 -r \"$1\" --notest<br \/>\n#<br \/>\n# Skript Start<br \/>\n#<br \/>\nfind \"$1\" -depth -name \"*\" | while read file ; do<br \/>\ndirectory=$(dirname \"$file\")<br \/>\noldfilename=$(basename \"$file\")<br \/>\n# sed und tr als Mittel der Bearbeitung<br \/>\n# Befehle sind so aufgestellt, dass einzelne Aktionen<br \/>\n# leicht durch Loeschen zwischen den Pipes<br \/>\n# veraendert werden koennen<br \/>\nnewfilename=$(echo \"$oldfilename\" | tr \"'\" \"_\" | tr '!@#+ ' '_____' | tr '[]{}' '()()()' | sed -e 's\/[\\`\\\u00b4\\\"\\]\/\/g' | sed -e 's\/\\&amp;\/and\/g' | sed -e 's\/[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]\/ae\/g;s\/[\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5]\/Ae\/g;s\/[\u00e9\u00eb\u00ea\u00e8]\/e\/g;s\/[\u00c8\u00c9\u00ca\u00cb\u20ac]\/E\/g;s\/[\u00ec\u00ed\u00ee\u00ef]\/i\/g;s\/[\u00cc\u00cd\u00ce\u00cf\u00a1]\/I\/g;s\/[\u00f2\u00f3\u00f4\u00f5\u00f6\u00f8]\/oe\/g;s\/[\u00d2\u00d3\u00d4\u00d5\u00d6]\/Oe\/g;s\/[\u00f9\u00fa\u00fb\u00fc]\/ue\/g;s\/[\u00d9\u00da\u00db\u00dc]\/Ue\/g;s\/[\u00ff\u00fd?]\/y\/g;s\/[\u00dd\u0178]\/Y\/g;s\/[\u00e6]\/ae\/g;s\/[\u00c6]\/AE\/g;s\/[\u00e7\u00a2\u00a9]\/c\/g;s\/[\u00c7]\/C\/g;s\/[\u00df\u0161]\/s\/g;s\/[$\u00a7\u0160]\/S\/g;s\/[=\u00a6#:~*\u00bf\u00b7\u00b8\u00b0\u00af\\%\";+^\u02dc\u2030\u2026\u2021\u2020???\u2022]\/_\/g;s\/[\u00b2]\/2\/g;s\/[\u00b3]\/3\/g' | sed -e 's\/[^\\(\\)\\.\\\/\\_a-zA-Z0-9-]\/\/g' | tr [:upper:] [:lower:])<br \/>\n# Katastrophenpotential einschraenken<br \/>\nif [ \"$oldfilename\" != \"$newfilename\" ]; then<br \/>\n# Umbenennen beginnen<br \/>\nmv -i \"$directory\/$oldfilename\" \"$directory\/$newfilename\"<br \/>\n# Benutzer informieren<br \/>\necho \"\"$directory\/$oldfilename\" ---&gt; \"$directory\/$newfilename\"\"<br \/>\n#echo \"$directory\"<br \/>\n#echo \"$oldfilename\"<br \/>\n#echo \"$newfilename\"<br \/>\n#echo<br \/>\nfi<br \/>\ndone<br \/>\nexit 0<br \/>\n<\/code><\/p>\n<p>Das nun ertr\u00e4gliche Ergebnis, das eine automatisierte Weiterverarbeitung bei der Umsetzung nach HTML erlaubt:<\/p>\n<p><a href=\"http:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_002.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1476\" title=\"Auswahl_002\" src=\"http:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_002-450x241.png\" alt=\"\" width=\"450\" height=\"241\" srcset=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_002-450x241.png 450w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/Auswahl_002.png 644w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>Da WordPress sicherlich aus dem Skript oben wieder einmal Wurstsalat macht, hier das Skript f\u00fcr den Download: <a href=\"http:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2010\/11\/umbenennen_v2.zip\">umbenennen_v2.zip<\/a> und zur Sicherheit auch noch mal bei <a title=\"pastebin\" href=\"http:\/\/pastebin.com\/cPKH8xjb\" target=\"_blank\">pastebin<\/a>.<\/p>\n<p>Nachteil des Skriptes: Der Backslash wird nicht ber\u00fccksichtigt. Au\u00dferdem w\u00e4re ein iconv -t ascii nicht schlecht, um die exotischen Zeichen mit zu erwischen, die nicht im Skript selbst auftauchen. Ein paar Dummheiten sind au\u00dferdem auch noch drin: Z.B. wird ? am Ende durch _ ersetzt, dabei ist es da schon lange ein y.<\/p>\n<p>Das Grundger\u00fcst steht aber.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die wie immer \u00fcble Ausgangslage, wenn ich Materialienlieferungen f\u00fcr den LFB erhalte: Auf der Suche nach einem ordentlichen Skript f\u00fcr das Umbenennen von Datei- und Verzeichnisnamen bin ich hier \u00fcber die Arbeit von Andi Latte gestolpert, die ich nur unwesentlich f\u00fcr meine Bed\u00fcrfnisse anpassen musste: #!\/bin\/bash # Ersetzt Zeichen im Dateinamen rekursiv # Vorlage: http:\/\/www.linux-community.de\/Community\/Fragen\/Bash-Rename-Skript [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,5,18],"tags":[21,23,25,22,24],"class_list":["post-1470","post","type-post","status-publish","format-standard","hentry","category-lfb","category-linux","category-memo","tag-bash","tag-lfb-2","tag-linux-2","tag-script","tag-zeichensatz"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/1470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1470"}],"version-history":[{"count":14,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/1470\/revisions"}],"predecessor-version":[{"id":1498,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/1470\/revisions\/1498"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}