{"id":8012,"date":"2021-07-26T18:37:17","date_gmt":"2021-07-26T18:37:17","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=8012"},"modified":"2021-08-25T10:07:10","modified_gmt":"2021-08-25T10:07:10","slug":"befehl-split","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/grundlagen\/befehl-split\/","title":{"rendered":"Der Befehl split"},"content":{"rendered":"<p>Der Befehl split wird unter Linux \/ UNIX dazu verwendet, um Dateien beliebig in kleinere Dateien aufzuteilen. Eingesetzt wird der Befehl etwa, wenn die Verarbeitung von Zeilen einer Textdatei in mehrere gleich gro&szlig;e &ldquo;Bl&ouml;cke&rdquo; &ndash; beispielsweise je 250 Zeilen &ndash; aufgeteilt werden soll. Weiterhin kann der Befehl auch bei der Datensicherung oder Verteilung sehr gro&szlig;er Dateien verwendet werden. Wenn gew&uuml;nscht, lassen sich die Einzeldateien zu einem sp&auml;teren Zeitpunkt auch wieder zusammenf&uuml;gen &ndash; da es sich nicht um ein propriet&auml;res Format handelt, ist dies zudem auf beliebigen Plattformen m&ouml;glich.<\/p>\n<p>Im Folgenden wird zun&auml;chst die allgemeine <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> des Befehls vorgestellt. Im Anschluss folgen einige der wichtigsten Optionen mitsamt Beispielanwendungen zu Veranschaulichung der Funktionsweise.<\/p>\n<h2 id=\"t-1627038105517\">Allgemeine Syntax<\/h2>\n<p>Die allgemeine Syntax des Befehls <strong>split <\/strong>lautet folgenderma&szlig;en:<\/p>\n<pre>split [Optionen] [Datei [Pr&auml;fix]]<\/pre>\n<p>Standardm&auml;&szlig;ig teilt <strong>split <\/strong>die &uuml;bergebene Datei in kleinere Dateien mit der Benennung <strong>&ldquo;[Pr&auml;fix]aa&rdquo;<\/strong>, <strong>&ldquo;[Pr&auml;fix]ab&rdquo;<\/strong>, <strong>&ldquo;[Pr&auml;fix]ac&rdquo;<\/strong> etc. auf. Die Buchstaben, die den zweistelligen Suffix ausmachen, werden so verwendet, als handele es sich um ein Stellenwertsystem zur Basis 26. So ist es m&ouml;glich, mit der Standard-Suffix-L&auml;nge von zwei Buchstaben bis zu 676 Teildateien zu erhalten. Wird kein Pr&auml;fix spezifiziert, so ist <strong>&ldquo;x&rdquo;<\/strong> der Standartwert. Weiterhin ist standardm&auml;&szlig;ig die Anzahl Zeilen pro Teildatei auf 1000 begrenzt &ndash; entsprechend w&uuml;rde eine Datei mit 5000 Zeilen in 5 kleinere Dateien aufgeteilt werden.<\/p>\n<h2 id=\"t-1627038105518\">Wichtige Optionen<\/h2>\n<p>In diesem Abschnitt lernen Sie nun einige der wichtigsten Optionen des Befehls <strong>split <\/strong>kennen.<\/p>\n<h3 id=\"t-1627295926532\">-a &ndash; Suffix-L&auml;nge<\/h3>\n<p>Mit der <strong>Option -a<\/strong> k&ouml;nnen Sie die L&auml;nge des Suffix, welcher standardm&auml;&szlig;ig zweistellig ist, einstellen:<\/p>\n<pre>split -a [L&auml;nge] [Datei [Pr&auml;fix]]<\/pre>\n<h5>Beispiel: Option -a<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel wird die L&auml;nge des Suffix auf <\/span>&ldquo;1&rdquo;<span style=\"font-weight: normal;\"> festgelegt und anschlie&szlig;end eine Datei <\/span>&ldquo;befehl-cat.txt&rdquo;<span style=\"font-weight: normal;\"> aufgeteilt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>split -a 1 befehl-cat.txt<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p style=\"\">Der Befehl erzeugt entsprechend der L&auml;nge der Eingabedatei Ausgabedateien mit der folgenden Benennung:<\/p>\n<p>xa<\/p>\n<p>xb<\/p>\n<p>&hellip;<\/p>\n<h3 id=\"t-1627295926533\">&ndash;additional-suffix &ndash; Zus&auml;tzlicher Suffix<\/h3>\n<p>Die <strong>Option &ndash;additional-suffix<\/strong> kann verwendet werden, um einen zus&auml;tzlichen Suffix, wie beispielsweise eine Dateiendung, hinten an den Z&auml;hl-Suffix anzuh&auml;ngen:<\/p>\n<pre>split --additional-suffix [Suffix] [Datei [Pr&auml;fix]]<\/pre>\n<h5>Beispiel: Option &ndash;additional-suffix<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Hier wird ein zus&auml;tzlicher Suffix spezifiziert und dann eine Datei <\/span>&ldquo;befehl-cat.txt&rdquo;<span style=\"font-weight: normal;\"> aufgeteilt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>split &ndash;additional-suffix &ldquo;.txt&rdquo; befehl-sudo.txt<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p style=\"\">Der Befehl erzeugt entsprechend der L&auml;nge der Eingabedatei Ausgabedateien mit der folgenden Benennung:<\/p>\n<p>xaa.txt<\/p>\n<p>xab.txt<\/p>\n<p>&hellip;<\/p>\n<h3 id=\"t-1627295926534\">-b &ndash; Bytes pro Ausgabedatei<\/h3>\n<p>Mithilfe der <strong>Option -b<\/strong> kann die Anzahl Bytes, die pro Ausgabedatei geschrieben wird, festgelegt werden:<\/p>\n<pre>split -b [Gr&ouml;&szlig;e] [Datei [Pr&auml;fix]]<\/pre>\n<p>Die <strong>[Gr&ouml;&szlig;e]<\/strong> stellt dabei einen Integer dar, welcher optional von einem multiplikativen Suffix <strong>&ldquo;b&rdquo;<\/strong> (Bl&ouml;cke), <strong>&ldquo;KB&rdquo;<\/strong> (Kilobytes), <strong>&ldquo;K&rdquo;<\/strong> (Kibibytes), <strong>&ldquo;MB&rdquo;<\/strong> (Megabytes), <strong>&ldquo;M&rdquo;<\/strong> (Mibibytes), <strong>&ldquo;GB&rdquo;<\/strong> (Gigabytes) <strong>&ldquo;G&rdquo;<\/strong> (Gibibytes) etc. gefolgt wird.<\/p>\n<h3 id=\"t-1627295926535\">-C &ndash; Bytes Datens&auml;tze pro Ausgabedatei<\/h3>\n<p>Bei Verwendung der <strong>Option -C<\/strong> werden so viele vollst&auml;ndige Datens&auml;tze wie m&ouml;glich in jede Ausgabedatei geschrieben, ohne dabei <strong>[Gr&ouml;&szlig;e]<\/strong> Bytes pro Ausgabedatei zu &uuml;berschreiten. Einzelne Datens&auml;tze, die l&auml;nger als die angegebene Gr&ouml;&szlig;e sind, werden in mehrere Dateien aufgeteilt:<\/p>\n<pre>split -C [Gr&ouml;&szlig;e] [Datei [Pr&auml;fix]]<\/pre>\n<p><strong>[Gr&ouml;&szlig;e]<\/strong> hat dasselbe Format, wie auch bei der <strong>Option -b<\/strong>.<\/p>\n<h3 id=\"t-1627295926536\">&ndash;d &ndash; numerische Suffixe verwenden<\/h3>\n<p id=\"t-1627295926537\">Wird die <strong>Option -d<\/strong> angegeben, so werden <strong>numerische Ziffern<\/strong> anstelle von Buchstaben zur Nummerierung der Ausgabedateien verwendet:<\/p>\n<pre>split -d [Datei [Pr&auml;fix]]<\/pre>\n<p>Optional kann ein Startwert f&uuml;r das Z&auml;hlen angegeben werden &ndash; hierzu wird dann jedoch die <strong>Option &nbsp;&ndash;numeric-suffixes<\/strong> ben&ouml;tigt:<\/p>\n<pre>split --numeric-suffixes=[Startwert] [Datei [Pr&auml;fix]]<\/pre>\n<p>Der Standard-Startwert ist 0.<\/p>\n<h5>Beispiel: Option &ndash;numeric-suffixes<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel sollen numerische Suffixe verwendet werden, wobei die Z&auml;hlung mit der 1 beginnen soll.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>split &ndash;numeric-suffixes=1 befehl-sudo.txt<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p style=\"\">Die Ausgabedateien werden wie folgt benannt:<\/p>\n<p>x01<\/p>\n<p>x02<\/p>\n<p>&hellip;<\/p>\n<h3 id=\"t-1627295926538\">-l &ndash; Anzahl Datens&auml;tze pro Ausgabedatei<\/h3>\n<p>Mit der <strong>Option -l<\/strong> kann die Anzahl Datens&auml;tze spezifiziert werden, die pro Ausgabedatei geschrieben werden sollen:<\/p>\n<pre>split -l [Anzahl] [Datei [Pr&auml;fix]]<\/pre>\n<h5>Beispiel: Option -l<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Die Anzahl Datens&auml;tze (Zeilen) pro Ausgabedatei soll in diesem Beispiel auf 250 gesetzt, werden. Im Beispiel wird so etwa eine Datei <\/span>&ldquo;benutzer.txt&rdquo;<span style=\"font-weight: normal;\"> mit 1000 Benutzernamen in 4 Teildateien aufgeteilt, die dann jeweils 250 Zeilen der Eingabe beinhalten.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>split -l 250 befehl-sudo.txt<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p>xaa<\/p>\n<p>xab<\/p>\n<p>xac<\/p>\n<p>xad<\/p>\n<h3 id=\"t-1627295926539\">-t &ndash; Trennzeichen f&uuml;r Datens&auml;tze<\/h3>\n<p>Mithilfe der <strong>Option -t<\/strong> k&ouml;nnen Sie ein <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Delimiter&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Ein Delimiter oder Trennzeichen wird verwendet, um Text oder andere Datenstr&ouml;me in Elemente aufzuteilen.&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;Trennzeichen&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/delimiter\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Trennzeichen<\/a> festlegen, welches anstelle des standardm&auml;&szlig;igen Zeilenumbruchs (ASCII LF) verwendet werden soll, um Datens&auml;tze zu trennen:<\/p>\n<pre>split -t [Trennzeichen] [Datei [Pr&auml;fix]]<\/pre>\n<p>Soll das NUL-Zeichen als Trennzeichen verwendet werden, so wird der Option die <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> <strong>&ldquo;&rdquo;<\/strong> &uuml;bergeben:<\/p>\n<pre>split -t '' [Datei [Pr&auml;fix]]<\/pre>\n<h3 id=\"t-1627295926540\">-n &ndash; TEILE Ausgabedateien erstellen<\/h3>\n<p>Die <strong>Option -n<\/strong> wird verwendet, um die Eingabe in <strong>[Teile]<\/strong> Ausgabedateien zu teilen:<\/p>\n<pre>split -n [Teile] [Datei [Pr&auml;fix]]<\/pre>\n<p><strong>[Teile]<\/strong> hat hierbei eines der folgenden Formate:<\/p>\n<table data-rows=\"7\" data-cols=\"2\" data-v=\"middle\">\n<thead>\n<tr>\n<th style=\"\"><strong>Format<\/strong><\/th>\n<th style=\"\">Funktion<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-th=\"Format\" style=\"\">N<\/td>\n<td data-th=\"Funktion\" style=\"\">Erzeuge N Ausgabedateien basierend auf der Gr&ouml;&szlig;e der derzeitigen Eingabe<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Format\" style=\"\">K\/N<\/td>\n<td data-th=\"Funktion\" style=\"\">Nur K-te von N in den Standard-Output stdout ausgeben<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Format\" style=\"\">l\/N<\/td>\n<td data-th=\"Funktion\" style=\"\">Erzeuge N Ausgabedateien ohne Zeilen oder Datens&auml;tze zu teilen<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Format\" style=\"\">l\/K\/N<\/td>\n<td data-th=\"Funktion\" style=\"\">Wie &ldquo;l\/N&rdquo;, aber nur K-te von N in den Standard-Output stdout ausgeben<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Format\" style=\"\" rowspan=\"1\" colspan=\"1\">r\/N<\/td>\n<td data-th=\"Funktion\" style=\"\" rowspan=\"1\" colspan=\"1\">Wie &ldquo;rN&rdquo; aber Round-Robin-Verfahren verwenden<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Format\" style=\"\" rowspan=\"1\" colspan=\"1\">r\/K\/N<\/td>\n<td data-th=\"Funktion\" style=\"\" rowspan=\"1\" colspan=\"1\">Wie &ldquo;r\/N&rdquo;, aber nur K-te von N in den Standard-Output stdout ausgeben<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Jegliche &uuml;brige Bytes nach Teilen der Eingabe in <strong>N<\/strong> Teile werden dem letzten Teil angef&uuml;gt. Weiterhin werden &uuml;brige Bytes, die nach der initialen Berechnung auftauchen, ignoriert &ndash; au&szlig;er es wird der <strong>&ldquo;r&rdquo;<\/strong>-Modus verwendet.<\/p>\n<p>Alle <strong>N<\/strong> Ausgabedateien werden erzeugt, auch wenn weniger als <strong>N<\/strong> Zeilen vorhanden sind, oder die Eingabe abgeschnitten wird.<\/p>\n<p>Bei dem <strong>&ldquo;l&rdquo;<\/strong>-Modus haben die Teile ungef&auml;hr die Gr&ouml;&szlig;e der Eingabe dividiert durch <strong>N<\/strong>. Die Eingabe wird in <strong>N<\/strong> gleich gro&szlig;e Teile partitioniert, wobei der letzten Partition jeglicher &Uuml;berschuss zugewiesen wird. Wenn eine Zeile innerhalb einer Partition anf&auml;ngt, wird sie vollst&auml;ndig in die entsprechende Datei geschrieben. Da Zeilen oder Datens&auml;tze nicht aufgeteilt werden, auch wenn sie eine Partition &uuml;berlappen, k&ouml;nnen die geschriebenen Dateien gr&ouml;&szlig;er oder kleiner als die Partitionsgr&ouml;&szlig;e sein, und sogar leer, wenn eine Zeile \/ ein Datensatz so lang ist, dass er die Partition vollst&auml;ndig &uuml;berlappt.<\/p>\n<p>F&uuml;r den <strong>&ldquo;r&rdquo;<\/strong>-Modus ist die Gr&ouml;&szlig;e der Eingabe irrelevant, sodass es sich auch um etwa eine Pipe handeln kann.<\/p>\n<h3 id=\"t-1627295926541\">&ndash;verbose &ndash; Meldung pro Ausgabedatei<\/h3>\n<p>Erzeugt eine Meldung vor dem &Ouml;ffnen jeder Ausgabedatei:<\/p>\n<pre>split --verbose [Datei [Pr&auml;fix]]<\/pre>\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>Der Befehl split wird unter Linux \/ UNIX dazu verwendet, um Dateien beliebig in kleinere Dateien aufzuteilen. Eingesetzt wird der Befehl etwa, wenn die Verarbeitung von Zeilen einer Textdatei in mehrere gleich gro\u00dfe &#8220;Bl\u00f6cke&#8221; &#8211; beispielsweise je 250 Zeilen &#8211; aufgeteilt werden soll. Weiterhin kann der Befehl auch bei der Datensicherung oder Verteilung sehr gro\u00dfer [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":9494,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"7","_seopress_titles_title":"%%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"Lernen Sie die Funktion des Befehls split unter UNIX-\/Linux-Systemen im Detail kennen. Mit split k\u00f6nnen Sie Dateien beliebig in kleinere Dateien aufteilen.","_seopress_robots_index":"","footnotes":""},"categories":[8,7],"tags":[],"class_list":["post-8012","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration","category-grundlagen"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/8012","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=8012"}],"version-history":[{"count":244,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/8012\/revisions"}],"predecessor-version":[{"id":9496,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/8012\/revisions\/9496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/9494"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=8012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=8012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=8012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}