{"id":2681,"date":"2020-02-20T16:26:25","date_gmt":"2020-02-20T16:26:25","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=2681"},"modified":"2020-03-13T11:28:07","modified_gmt":"2020-03-13T11:28:07","slug":"befehl-sort","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/grundlagen\/befehl-sort\/","title":{"rendered":"Der Befehl Sort"},"content":{"rendered":"<p>Mit dem <strong>sort<\/strong> Befehl l&auml;sst sich der Inhalt von Dateien unter Linux- beziehungsweise UNIX-Systemen zeilenweise sortieren. Au&szlig;erdem ist es m&ouml;glich, die Sortierung von Dateien zu &uuml;berpr&uuml;fen und mehrere unsortierte Dateien zu einer sortierten Datei zusammenzuf&uuml;hren.<\/p>\n<p>In diesem Beitrag lernen Sie die grundlegende Funktionalit&auml;t des <strong>sort<\/strong> Befehls, sowie einige der f&uuml;r den allt&auml;glichen Gebrauch wichtigsten Optionen kennen.<\/p>\n<h2 id=\"tab-con-6\">Zeilen sortieren mit Sort<\/h2>\n<p>Allgemein lautet die <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 <strong>sort<\/strong><strong>&nbsp;<\/strong>Befehls folgenderma&szlig;en:<\/p>\n<pre>sort [Optionen] [Dateipfad]<\/pre>\n<p>Wenn der Befehl ohne jegliche Optionen auf einer Datei ausgef&uuml;hrt wird, dann werden die Zeilen der Datei ganz einfach <strong>lexikographisch <\/strong>sortiert und 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. Die Reihenfolge der Sortierung wird durch das <strong>Locale <\/strong>bzw. das <strong>System-Gebietsschema<\/strong> beeinflusst.<\/p>\n<p>Es folgt ein kurzes Beispiel.<\/p>\n<h5>Beispiel: Sort ohne Optionen<\/h5>\n<p>In diesem Beispiel wollen wir die Zeilen einer Textdatei <strong>&ldquo;benutzer.txt&rdquo;<\/strong> lexikographisch sortieren. Dazu verwenden wir den Befehl <strong>sort<\/strong> &ndash; zun&auml;chst ohne jegliche Optionen.<\/p>\n<h6>Vorher (benutzer.txt):<\/h6>\n<p>hedvadminhellbergbiboadmina<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort benutzer.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>adminadminabibohedvhellberg<\/p>\n<h5>Beispiel: Sort ohne Optionen<\/h5>\n<p>Die sortierten Zeilen lassen sich auch direkt in eine Datei schreiben, anstelle sie nur im Terminal auszugeben. Dabei kommt eine sogenannte Umleitung zum Einsatz.<\/p>\n<p>N&auml;heres zu <a href=\"https:\/\/profi-tutorials.de\/linux\/grundlagen\/eingabe-ausgabe-umleitungen\/\" target=\"_blank\" style=\"outline: none;\" rel=\"noopener noreferrer\">Umleitungen und Pipes finden Sie in unserem Beitrag<\/a> dazu.<\/p>\n<h6>Vorher (benutzer.txt):<\/h6>\n<p>berni<\/p>\n<p>admina<\/p>\n<p>hedv<\/p>\n<p>hellberg<\/p>\n<p>bibo<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort benutzer.txt &gt; benutzer_sortiert.txt<\/p>\n<h6>Ausgabe (benutzer_sortiert.txt):<\/h6>\n<p>adminabernibibohedvhellberg<\/p>\n<h2 id=\"tab-con-5\">Die wichtigsten Optionen<\/h2>\n<p>Im Folgenden werden einige der wichtigsten Optionen des <strong>sort<\/strong> Befehls behandelt.<\/p>\n<h3 id=\"tab-con-7\">-b &ndash; Leerzeichen am Zeilenanfang ignorieren<\/h3>\n<p>Mit der Option <strong>-b<\/strong> oder <strong>&ndash;ignore-leading-blanks<\/strong> k&ouml;nnen Leerzeichen am Anfang jeder Zeile bei der Sortierung ignoriert werden.<\/p>\n<pre>sort -b [Dateipfad]<\/pre>\n<h3 id=\"tab-con-1\">-f &ndash; Gro&szlig;- und Kleinschreibung ignorieren<\/h3>\n<p>Bei der Sortierung wird normalerweise auch die <strong>Gro&szlig;- und Kleinschreibung<\/strong> beachtet. Die Gro&szlig;buchstaben werden dabei <strong>lexikographisch <\/strong>als gr&ouml;&szlig;er als die Kleinbuchstaben angesehen. Mit der Option <strong>-f<\/strong> oder <strong>&ndash;ignore-case<\/strong> l&auml;sst sich dieses Verhalten deaktivieren.<\/p>\n<pre>sort -f [Dateipfad]<\/pre>\n<h3 id=\"tab-con-2\">-d &ndash; Nur Leer- und alphanumerische Zeichen ber&uuml;cksichtigen<\/h3>\n<p>Die Option <strong>-d<\/strong> bzw. <strong>&ndash;dictionary-order<\/strong> wird verwendet, um bei der Sortierung nur <strong>Leerzeichen<\/strong>, sowie alle <strong>alphanumerischen Zeichen<\/strong>, also die Buchstaben <strong>a-z<\/strong> bzw. <strong>A-Z<\/strong> und die Zahlen <strong>0-9<\/strong> zu ber&uuml;cksichtigen.<\/p>\n<pre>sort -n [Dateipfad]<\/pre>\n<h3 id=\"tab-con-8\">-n &ndash; Nach numerischem Wert sortieren<\/h3>\n<p>Mit <strong>-n<\/strong> bzw. <strong>&ndash;numeric-sort<\/strong> kann eine Sortierung nur nach dem numerischen Wert einzelner Ziffern (<strong>0-9<\/strong>) erfolgen.<\/p>\n<pre>sort -n [Dateipfad]<\/pre>\n<h3 id=\"tab-con-3\">-r &ndash; In umgekehrter Reihenfolge sortieren<\/h3>\n<p>&Uuml;ber die Option <strong>-r<\/strong> bzw. <strong>&ndash;reverse<\/strong> kann die Reihenfolge der sortierten Zeilen umgekehrt werden.<\/p>\n<pre>sort -r [Dateipfad]<\/pre>\n<h3 id=\"tab-con-4\">-k,-t &ndash; Nach Schl&uuml;ssel \/ Spalten sortieren<\/h3>\n<p>Die Option <strong>-k<\/strong> wird verwendet, um eine bestimmte <strong>Spalte<\/strong> bzw. einen <strong><a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Token&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Ein Token ist eine Folge zusammengeh&ouml;riger Zeichen, welche von einer formalen Grammatik einem Typ zuzuordnen ist.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/token\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Token<\/a><\/strong> einer <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> f&uuml;r die Sortierung zu verwenden. Die Z&auml;hlung der Spalten beginnt mit der 1. Ein sogenannter <strong>Delimiter<\/strong> dient dabei als <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> zwischen den einzelnen Spalten jeder Zeile.<\/p>\n<pre>sort -k [Spalte] [Dateipfad]<\/pre>\n<p>Der <strong>Delimiter<\/strong> ist standardm&auml;&szlig;ig das Leerzeichen, kann jedoch mit der Option <strong>-t<\/strong> auf jedes beliebige Zeichen eingestellt werden. Das angegebene Zeichen wird im Befehl mit Hochkommata <strong>&lsquo;<\/strong> umfasst.<\/p>\n<pre>sort -k [Spalte] -t '[Delimiter]' [Dateipfad]<\/pre>\n<h5>Beispiel: Sortieren nach Spalten<\/h5>\n<p>In diesem Beispiel soll die Datei <strong>&ldquo;gruppen.txt&rdquo;<\/strong> sortiert werden. Jede Zeile der Datei ist in zwei Spalten bzw. Token aufgeteilt, der <strong>Delimiter<\/strong> ist dabei das Leerzeichen. Die erste Spalte wird f&uuml;r die Sortierung verwendet.<\/p>\n<h6>Vorher (gruppen.txt):<\/h6>\n<p>01 edvberatung-hannover03 hausverwaltung-isernhagen02 verwaltung-hannover04 profi-tutorials<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort -k 1 gruppen.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>01 edvberatung-hannover02 verwaltung-hannover03 hausverwaltung-isernhagen04 profi-tutorials<\/p>\n<h5>Beispiel: Sortieren nach Spalten mit -t<\/h5>\n<p>Dieses Beispiel ist dem Vorigen sehr &auml;hnlich, jedoch werden die Spalten hier durch einen senkrechten Strich <strong>&lsquo;|&rsquo;<\/strong> getrennt. Die Option <strong>-t<\/strong> wird verwendet um den <strong>Delimiter<\/strong> auf dieses Zeichen festzulegen.<\/p>\n<h6>Vorher (gruppen.txt):<\/h6>\n<p>01|open-school-it<\/p>\n<p>04|online-kurse<\/p>\n<p>03|miete-hannover02|it-consulting-hannover<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort -k 1 -t &lsquo;|&rsquo; gruppen.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>01|open-school-it02|it-consulting-hannover03|miete-hannover04|online-kurse<\/p>\n<h3 id=\"tab-con-10\">-c &ndash; Sortierung &uuml;berpr&uuml;fen<\/h3>\n<p>Mit <strong>-c<\/strong> oder <strong>&ndash;check<\/strong> k&ouml;nnen Sie &uuml;berpr&uuml;fen, ob eine Datei bereits sortiert ist. Wenn die angegebene Datei nicht sortiert ist, dann wird die erste unsortierte Zeile ausgegeben. Andernfalls gibt es keine Ausgabe.<\/p>\n<pre>sort -c [Dateipfad]<\/pre>\n<h5>Beispiel: Check bei unsortierter Datei 1<\/h5>\n<p>Wird <strong>-c<\/strong> auf einer unsortierten Datei ausgef&uuml;hrt, dann wird die erste unsortierte Zeile vom Befehl ausgegeben. In diesem Fall ist das die zweite Spalte.<\/p>\n<h6>Dateiinhalt (benutzer.txt):<\/h6>\n<p>berniadminahedvhellbergbibo<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort -c benutzer.txt<\/p>\n<h6>Ausgabe:<\/h6>\n<p>sort: benutzer.txt:2: ungeordnet: admina<\/p>\n<h5>Beispiel: Check bei sortierter Datei<\/h5>\n<p>Wenn die mit <strong>-c<\/strong> &uuml;berpr&uuml;fte Datei bereits sortiert ist, dann gibt der Befehl keine Ausgabe zur&uuml;ck.<\/p>\n<p>Hier ist auch gut zu sehen, dass die Option mit anderen Optionen beliebig kombiniert werden kann, um eine bestimmte Sortierung zu &uuml;berpr&uuml;fen.<\/p>\n<h6>Dateiinhalt (benutzer_nummeriert.txt):<\/h6>\n<p>01 berni02 admina03 hedv04 hellberg05 bibo<\/p>\n<h6>Eingabe:<\/h6>\n<p>sort -c -k 1 benutzer_nummeriert.txt<\/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>Mit dem sort Befehl l\u00e4sst sich der Inhalt von Dateien unter Linux- beziehungsweise UNIX-Systemen zeilenweise sortieren. Au\u00dferdem ist es m\u00f6glich, die Sortierung von Dateien zu \u00fcberpr\u00fcfen und mehrere unsortierte Dateien zu einer sortierten Datei zusammenzuf\u00fchren. In diesem Beitrag lernen Sie die grundlegende Funktionalit\u00e4t des sort Befehls, sowie einige der f\u00fcr den allt\u00e4glichen Gebrauch wichtigsten Optionen [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1526,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":" %%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"Mit dem Befehl &quot;sort&quot; l\u00e4sst sich der Inhalt von Dateien unter Linux- bzw. UNIX-Systemen zeilenweise sortieren. Weitere praktische Tutorials finden Sie hier.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"7","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"UNIX,Linux,Befehl,Sort,sortieren,Datei,Zeile","footnotes":""},"categories":[8,7],"tags":[],"class_list":["post-2681","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\/2681","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=2681"}],"version-history":[{"count":43,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/2681\/revisions"}],"predecessor-version":[{"id":3630,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/2681\/revisions\/3630"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/1526"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=2681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=2681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=2681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}