{"id":3236,"date":"2020-03-06T16:11:41","date_gmt":"2020-03-06T16:11:41","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=3236"},"modified":"2020-03-13T11:27:27","modified_gmt":"2020-03-13T11:27:27","slug":"wildcards","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/grundlagen\/wildcards\/","title":{"rendered":"Wildcards"},"content":{"rendered":"<p>Bei der Verwendung jeglicher Befehle ist es fr&uuml;her oder sp&auml;ter einmal n&ouml;tig, auch mehrere Verzeichnisse in den Parametern aufzulisten. Die Auflistung von solchen Elementen kann jedoch, vor allem bei komplexen Verzeichnis- oder Dateinamen schnell umst&auml;ndlich und extrem zeitaufw&auml;ndig werden. Zur L&ouml;sung dieses Problems gibt es unter Linux bzw. UNIX <a class=\"glossaryLink cmtt_Informatik cmtt_Netzwerke\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Betriebssystem&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Ein Betriebssystem ist f&uuml;r die Verwaltung der Ressourcen eines Rechensystems verantwortlich.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/betriebssystem\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Betriebssystemen<\/a> ein m&auml;chtiges Werkzeug &ndash; sogenannte <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Wildcard&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Eine Wildcard, auch Joker genannt, ist in der Informatik ein Platzhalter f&uuml;r andere Zeichen bzw. Zeichenketten.&lt;\/div&gt;&lt;div class=cmtt_synonyms_wrapper&gt;&lt;div class=cmtt_synonyms_title&gt;Synonyms: &lt;\/div&gt;&lt;div class=cmtt_synonyms&gt;Platzhalter, Joker&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/wildcard\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Wildcards<\/a>.<\/p>\n<p>In diesem Beitrag lernen Sie Grundlagen zur Funktion, sowie der Anwendung von Wildcards kennen.<\/p>\n<h2 id=\"tab-con-5\">Was sind Wildcards &uuml;berhaupt?<\/h2>\n<p>Wildcards sind <strong>Platzhalter<\/strong>, die es Ihnen erm&ouml;glichen, beliebige <strong>Muster<\/strong>, auch <strong>Pattern <\/strong>genannt, zu definieren und mit diesen anschlie&szlig;end eine <strong>Menge von Dateien bzw. Verzeichnissen zusammenzufassen<\/strong>. Trifft das Muster auf den Namen eines Elements zu, dann wird dieses in eine Liste aufgenommen, welche anschlie&szlig;end an ein aufgerufenes Programm &uuml;bergeben wird.<\/p>\n<p><strong>Wildcards <\/strong>k&ouml;nnen auch immer dann verwendet werden, wenn Sie beispielsweise den Namen einer Datei oder eines Verzeichnisses nicht genau kennen.<\/p>\n<h2 id=\"tab-con-6\">Interne Funktionsweise<\/h2>\n<p>Interessant ist, dass aufgerufene Programme die <strong>Wildcards <\/strong>nie als solche &uuml;bergeben bekommen: Die <strong>Wildcards <\/strong>werden stattdessen schon vor der Ausf&uuml;hrung des Programms von der <strong>Bash <\/strong>verarbeitet und schlie&szlig;lich durch die Liste gefundener Elemente ausgetauscht. Erst dann erfolgt die Ausf&uuml;hrung des Programms.<\/p>\n<p>Bei jedem Programm, welches die Eingabe mehrerer Datei- bzw. Verzeichnisnamen unterst&uuml;tzt, k&ouml;nnen somit auch <strong>Wildcards <\/strong>verwendet werden.<\/p>\n<h2 id=\"tab-con-4\">Die grundlegenden Wildcards<\/h2>\n<p>Unter Linux bzw. UNIX stehen 3 grundlegende <strong>Wildcards <\/strong>&ndash; der Stern <strong>*<\/strong>, das Fragezeichen <strong>?<\/strong>, sowie die eckigen Klammern <strong>[]<\/strong> &ndash; bereit.<\/p>\n<table data-rows=\"4\" data-cols=\"2\" data-v=\"middle\">\n<thead>\n<tr>\n<th style=\"\">\n<p><strong>Wildcard<\/strong><\/p>\n<\/th>\n<th style=\"\">\n<p>Bedeutung<\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n<p><span data-id=\"0\" data-type=\"true\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span><span data-id=\"0\" data-type=\"true\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span><span data-id=\"0\" data-type=\"true\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span>*<span data-id=\"0\" data-type=\"false\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span><span data-id=\"0\" data-type=\"false\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span><span data-id=\"0\" data-type=\"false\" style=\"display: inline-block; line-height: 0;\">&#8203;<\/span><\/p>\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Eine beliebige <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;String&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Ein String ist in der Informatik eine Zeichenkette - stellt also eine endliche Folge von Zeichen aus einem bestimmten Zeichensatz,(...)&lt;\/div&gt;&lt;div class=cmtt_synonyms_wrapper&gt;&lt;div class=cmtt_synonyms_title&gt;Synonyms: &lt;\/div&gt;&lt;div class=cmtt_synonyms&gt;Zeichenkette&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/string\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Zeichenkette<\/a> von beliebiger L&auml;nge<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n<p>?<\/p>\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Genau ein beliebiges Zeichen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n[]\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Eine Menge \/ ein Bereich von Zeichen<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die 3 verschiedenen <strong>Wildcards <\/strong>werden nun im Einzelnen auch noch einmal genauer betrachtet.<\/p>\n<h3 id=\"tab-con-1\">Der Stern<\/h3>\n<p>Der Stern <strong>*<\/strong> steht f&uuml;r eine aus<strong> einem oder mehreren beliebigen Zeichen<\/strong> bestehende <strong>Zeichenkette<\/strong>, sowie auch f&uuml;r die<strong> leere Zeichenkette<\/strong>. Aus diesem Grund wird er oft verwendet, wenn Dateien mit einem &auml;hnlichen oder nur teilweise bekannten Namen gesucht werden.<\/p>\n<p>Es folgen einige Beispiele f&uuml;r die Verwendung des Sterns.<\/p>\n<h5>Beispiel: Bestimmte Dateiendung<\/h5>\n<p>In diesem Beispiel werden alle Dateien mit der Endung <strong>&ldquo;.txt&rdquo;<\/strong> im aktuellen Verzeichnis gesucht und an den Befehl <strong>ls<\/strong> &uuml;bergeben. Die gefundenen Dateinamen werden somit im <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;TTY [Teletype]&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;TTY steht f&uuml;r Teletype, welches das englische Wort f&uuml;r Fernschreiber ist, und steht in einem UNIX-System f&uuml;r ein Terminal.&lt;\/div&gt;&lt;div class=cmtt_synonyms_wrapper&gt;&lt;div class=cmtt_synonyms_title&gt;Synonyms: &lt;\/div&gt;&lt;div class=cmtt_synonyms&gt;Terminal&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/tty\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Terminal<\/a> ausgegeben.<\/p>\n<h6>Eingabe:<\/h6>\n<p>ls *.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>befehl-find.txtbefehl-grep.txtlinux-berechtigungssystem.txt<\/p>\n<h5>Beispiel: Dateiname enth&auml;lt bestimmte Zeichenkette<\/h5>\n<p>Hier werden alle Dateien ausgegeben, die die Zeichenkette <strong>&ldquo;linux&rdquo;<\/strong> in ihrem Namen enthalten.<\/p>\n<h6>Verzeichnisinhalt:<\/h6>\n<p>befehl-top.txt<\/p>\n<p>benutzer-und-gruppen-unter-linux.txt<\/p>\n<p>befehle-systemkontrolle.txt<\/p>\n<p>linux-runlevel.txt<\/p>\n<h6>Eingabe:<\/h6>\n<p>ls *linux*<\/p>\n<h6>Ausgabe:<\/h6>\n<p>benutzer-und-gruppen-unter-linux.txt<\/p>\n<p>linux-runlevel.txt<\/p>\n<h3 id=\"tab-con-3\">Das Fragezeichen<\/h3>\n<p>Das Fragezeichen repr&auml;sentiert <strong>genau ein einzelnes<\/strong> beliebiges Zeichen. Es l&auml;sst sich somit hervorragend verwenden, wenn eine genaue Anzahl Buchstaben in dem Namen einer Datei-\/eines Verzeichnisses maskiert werden sollen. Zu diesem Zweck kann auch eine ganze Folge von Fragezeichen angegeben werden.<\/p>\n<p>Auch hier folgen wieder einige Beispiele.<\/p>\n<h5>Beispiel: Dateiname ist genau X Zeichen lang<\/h5>\n<p>In diesem Beispiel werden nur solche Dateien ausgegeben, dessen Name <strong>genau <\/strong>4 Zeichen lang ist.<\/p>\n<h6>Verzeichnisinhalt:<\/h6>\n<p>hedv<\/p>\n<p>hellberg<\/p>\n<p>admina<\/p>\n<p>bibo<\/p>\n<h6>Eingabe:<\/h6>\n<p>ls ????<\/p>\n<h6>Ausgabe:<\/h6>\n<p>hedv<\/p>\n<p>bibo<\/p>\n<h5>Beispiel: Dateiname ist mindestens X Zeichen lang<\/h5>\n<p>Das Fragezeichen kann in Kombination mit dem Stern auch verwendet werden, um eine <strong>Mindestl&auml;nge <\/strong>vorzugeben. Hier werden nur solche Dateien ausgegeben, dessen Name mindestens 6 Zeichen lang ist.<\/p>\n<h6>Verzeichnisinhalt:<\/h6>\n<p>glossar<\/p>\n<p>foto<\/p>\n<p>e-business<\/p>\n<p>linux<\/p>\n<p>it-consulting<\/p>\n<h6>Eingabe:<\/h6>\n<p>ls ??????*<\/p>\n<h6>Ausgabe:<\/h6>\n<p>glossar<\/p>\n<p>e-business<\/p>\n<p>it-consulting<\/p>\n<h3 id=\"tab-con-7\">Die eckigen Klammern<\/h3>\n<p>Eckige Klammern werden verwendet, um eine Menge von Zeichen zu definieren. Die eckigen Klammern stehen dann als Platzhalter f&uuml;r <strong>genau eines<\/strong> der angegebenen Zeichen.<\/p>\n<p>Bei der Angabe des Alphabets oder von Zahlenbereichen gilt es au&szlig;erdem zu beachten, dass statt einer Auflistung jedes Zeichens auch einfach ein Bereich &ldquo;von bis&rdquo; definiert werden kann:&nbsp;<\/p>\n<table data-rows=\"4\" data-cols=\"2\" data-v=\"middle\">\n<thead>\n<tr>\n<th style=\"\">\n<p><strong>Wildcard<\/strong><\/p>\n<\/th>\n<th style=\"\">\n<p>Bedeutung<\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n[0-9]\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Eine der Ziffern im Bereich 0-9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n[a-z]\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Ein Kleinbuchstabe aus dem Bereich des gesamten Alphabets<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Wildcard\" style=\"\">\n[A-Z]\n<\/td>\n<td data-th=\"Bedeutung\" style=\"\">\n<p>Ein &nbsp;Gro&szlig;buchstabe aus dem Bereich des gesamten Alphabets<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Im Folgenden werden auch noch einmal einige Beispiele f&uuml;r die Anwendung der eckigen Klammern vorgestellt.<\/p>\n<h5>Beispiel: Variationen beachten<\/h5>\n<p>Durch die Verwendung von eckigen Klammern k&ouml;nnen mehrere <strong>Variationen <\/strong>eines Dateinamens beachtet werden. Beispielsweise die Gro&szlig;- und Kleinschreibung.<\/p>\n<h6>Verzeichnisinhalt:<\/h6>\n<p>Hellberg<\/p>\n<p>hellberg<\/p>\n<p>hedv<\/p>\n<p>Hedv<\/p>\n<h6>Eingabe:<\/h6>\n<p>ls [hH]ellberg<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Hellberg<\/p>\n<p>hellberg<\/p>\n<h5>Beispiel: Ziffer am Anfang<\/h5>\n<p>In diesem Beispiel werden alle <strong>Textdateien<\/strong> im aktuellen Verzeichnis, dessen Name mit <strong>zwei <\/strong>beliebigen Ziffern anf&auml;ngt, in das leere Unterverzeichnis <strong>&ldquo;\/administration&rdquo;<\/strong> verschoben.<\/p>\n<h6>Verzeichnisinhalt:<\/h6>\n<p>01-befehl-top.txt<\/p>\n<p>02-befehl-grep<\/p>\n<p>03-befehl-find.txt<\/p>\n<p>debian-distribution.txt<\/p>\n<h6>Eingabe:<\/h6>\n<p>mv [0-9][0-9]*.txt<\/p>\n<h6>Inhalt des Unterverzeichnisses &ldquo;\/administration&rdquo;:<\/h6>\n<p>01-befehl-top.txt<\/p>\n<p>03-befehl-find.txt<\/p>\n<h2 id=\"tab-con-0\">Die Verwendung von Sonderzeichen<\/h2>\n<p>Sollen Sonderzeichen, wie die Wildcards, als Parameter &uuml;bergeben, aber nicht von der Shell interpretiert werden, dann m&uuml;ssen diese besonders davor gesch&uuml;tzt werden. Bei einzelnen Zeichen wird dazu einfach ein Backslash <strong><\/strong> vorangestellt.<\/p>\n<p>Alternativ k&ouml;nnen einzelne Zeichen, aber auch ganze Zeichenketten, mit Hochkommata <strong>&lsquo;<\/strong> oder Anf&uuml;hrungszeichen <strong>&ldquo;<\/strong> umschlossen werden. Auch hier werden die Zeichen nicht von der Shell interpretiert, sondern direkt an das aufgerufene Programm &uuml;bergeben.<\/p>\n<p>Zuletzt auch noch einmal ein Beispiel zur Verwendung von Sonderzeichen in Parametern.<\/p>\n<h5>Beispiel: Verwendung von Sonderzeichen in Parametern 1<\/h5>\n<h6>Code:<\/h6>\n<p>rm &ldquo;hellberg?hedv.txt&rdquo;<\/p>\n<h6>Bedeutung:<\/h6>\n<p>Genau die Datei mit dem Namen &ldquo;hellberg?hedv.txt&rdquo; wird gel&ouml;scht. Alle anderen Dateien, wie beispielsweise &ldquo;hellberg-hedv.txt&rdquo;, bleiben erhalten.<\/p>\n<h5>Beispiel: Verwendung von Sonderzeichen in Parametern 2<\/h5>\n<h6>Code:<\/h6>\n<p>rm hellberg?hedv.txt<\/p>\n<h6>Bedeutung:<\/h6>\n<p>Auch hier wird wieder genau die Datei mit dem Namen &ldquo;hellberg?hedv.txt&rdquo; gel&ouml;scht. Das Fragezeichen ist durch ein Backslash &lsquo;gesch&uuml;tzt&rsquo; und wird nicht als Wildcard interpretiert.<\/p>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei der Verwendung jeglicher Befehle ist es fr\u00fcher oder sp\u00e4ter einmal n\u00f6tig, auch mehrere Verzeichnisse in den Parametern aufzulisten. Die Auflistung von solchen Elementen kann jedoch, vor allem bei komplexen Verzeichnis- oder Dateinamen schnell umst\u00e4ndlich und extrem zeitaufw\u00e4ndig werden. Zur L\u00f6sung dieses Problems gibt es unter Linux bzw. UNIX Betriebssystemen ein m\u00e4chtiges Werkzeug &#8211; sogenannte [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3304,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":" %%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"In diesem Grundlagen Tutorial beschreiben wir Wildcards \/ Joker, und wie Sie unter Linux einfach und dynamisch beliebig viele Dateien\/Verzeichnisse aufz\u00e4hlen.","_seopress_robots_index":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-3236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grundlagen"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/3236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=3236"}],"version-history":[{"count":87,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/3236\/revisions"}],"predecessor-version":[{"id":3629,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/3236\/revisions\/3629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/3304"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=3236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=3236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=3236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}