{"id":74,"date":"2023-08-25T22:06:30","date_gmt":"2023-08-25T20:06:30","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=74"},"modified":"2023-08-25T22:06:30","modified_gmt":"2023-08-25T20:06:30","slug":"dateien-loeschen-aber-ohne","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/08\/25\/dateien-loeschen-aber-ohne\/","title":{"rendered":"Dateien l\u00f6schen, aber ohne &#8230;"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In einem Script pflege ich Dateitypen (-extensions), die ich innerhalb eines Ordners l\u00f6schen m\u00f6chte. Das mache ich deswegen, weil eben nicht alle Dateien gel\u00f6scht werden sollen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Irgendwie ist das aber l\u00e4stig. Und wie ich feststellen konnte, auch komplett unsinnig. Es geht einfacher, denn die Anzahl der Dateitypen, die ich halten m\u00f6chte, ist \u00fcberschaubar und \u00e4ndert sich in der Regel nicht. Daher:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u00f6schen aller Dateien, aber ohne das Muster!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der einfachste Weg, um z.B. alle Dateien, au\u00dfer *.jpg, zu l\u00f6schen, ist folgender:<\/p>\n\n\n\n<pre class=\"wp-block-code has-tertiary-background-color has-background\"><code>rm $(ls -I \"*.jpg\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Zu beachten:<br>Die Option hinter dem\u00a0<strong><code>ls<\/code><\/strong>\u00a0ist das &#8222;gro\u00dfe i&#8220; f\u00fcr ignore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sofern mehrere Dateitypen ausgenommen werden sollen, m\u00fcssen diese aufgelistet werden (mit jeweils vorangestellter Option <code>-I<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code has-tertiary-background-color has-background\"><code>rm $(ls -I \"*.jpg\" -I \"*.jpeg\" -I \"*.png\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn im Falle der Befehlsausf\u00fchrung in der Konsole einer der Dateitypen nicht vorhanden ist, kann er nicht von ls aufgelistet werden. Zudem, sofern in dem Ordner noch Unterordner vorhanden, k\u00f6nnen diese mit dem einfachen rm-Befehl nicht gel\u00f6scht werdne. Somit wird dann eine Standardfehlerausgabe erzeugt. In etwa so:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">ls: Zugriff auf &#8218;*.jpeg&#8216; nicht m\u00f6glich: Datei oder Verzeichnis nicht gefunden<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">oder<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">rm: das Entfernen von &#8218;archiv&#8216; ist nicht m\u00f6glich: Ist ein Verzeichnis<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist nicht weiter schlimm, kann aber l\u00e4stig sein. Die Standardfehlerausgabe kann man unterdr\u00fccken, indem man sie umleitet:<\/p>\n\n\n\n<pre class=\"wp-block-code has-tertiary-background-color has-background\"><code>rm $(ls -I \"*.jpg\" -I \"*.jpeg\" -I \"*.png\") 2&gt;\/dev\/null<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit der Umleitung der Standardfehlerausgabe aber vorsichtig sein, denn andere Hinweise aus der Befehlsabarbeitung werden damit auch umgeleitet und sind nicht sichtbar, sofern man nicht noch andere Vorkehrungen getroffen hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt noch reichlich andere M\u00f6glichkeiten, beim L\u00f6schen von Dateien Ausnahmen zu setzen. Die von mir nun gew\u00e4hlte Variante ist f\u00fcr mich die einfachste, denn mit den Befehlen\u00a0<strong>ls<\/strong>\u00a0und\u00a0<strong>rm<\/strong>\u00a0gehe ich tagt\u00e4glich um. Diese sind mir deswegen insgesamt in ihrer Bedeutung wohl bekannt.<\/p>\n\n\n\n<p class=\"has-primary-color has-text-color wp-block-paragraph\">Verfasst von Bommo<\/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=\"74\" 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\">    <\/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=\"74\" 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\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>In einem Script pflege ich Dateitypen (-extensions), die ich innerhalb eines Ordners l\u00f6schen m\u00f6chte. Das mache ich deswegen, weil eben nicht alle Dateien gel\u00f6scht werden sollen. Irgendwie ist das aber l\u00e4stig. Und wie ich feststellen konnte, auch komplett unsinnig. Es geht einfacher, denn die Anzahl der Dateitypen, die ich halten m\u00f6chte, ist \u00fcberschaubar und \u00e4ndert [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":61,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[12,5,7,6],"class_list":["post-74","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-terminal","tag-kommandozeile","tag-linux","tag-shell","tag-terminal"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/74","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=74"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/74\/revisions"}],"predecessor-version":[{"id":75,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/74\/revisions\/75"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/61"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}