{"id":7620,"date":"2021-07-20T13:08:22","date_gmt":"2021-07-20T13:08:22","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=7620"},"modified":"2021-07-20T13:08:23","modified_gmt":"2021-07-20T13:08:23","slug":"befehl-xargs","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/administration\/befehl-xargs\/","title":{"rendered":"Der Befehl xargs"},"content":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl xargs kennen, welcher verwendet wird, um Befehle mit Argumenten auszuf&uuml;hren, welche vom Standard-Input gelesen werden. Viele Befehle lassen sich unter Linux- \/ UNIX standardm&auml;&szlig;ig sowohl auf einzelnen Dateien, als auch auf Listen von Dateien anwenden &ndash; ist dies nicht m&ouml;glich, kann der Befehl xargs eingesetzt werden. Ein weiterer Anwendungsfall f&uuml;r xargs ist zudem die Parallelisierung mehrerer Befehle, zum Beispiel rsync, um eine bessere Ausnutzung der Ressourcen des Systems zu erm&ouml;glichen.<\/p>\n<p>Zu Beginn wird 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 xargs gezeigt. Anschlie&szlig;end folgen die wichtigsten Optionen des Befehls mitsamt einiger Beispiele.<\/p>\n<h2 id=\"t-1625562976721\">Allgemeine Syntax<\/h2>\n<p><strong>xargs <\/strong>wird neben verschiedenen verf&uuml;gbaren Optionen ein Befehl &uuml;bergeben, welcher dann mit den eingelesenen Argumenten ausgef&uuml;hrt wird. Der Befehl kann dabei ganz normal mitsamt beliebiger initialer Argumente angegeben werden &ndash; <strong>xargs <\/strong>wird die aus dem Standard-Input <strong>stdin <\/strong>eingelesenen Argumente dann standardm&auml;&szlig;ig jeweils am Ende des Befehls anf&uuml;gen. Die allgemeine Syntax lautet somit folgenderma&szlig;en:<\/p>\n<pre>xargs [Optionen] [Befehl [Initiale Argumente]]<\/pre>\n<h5>Beispiel: xargs ohne Optionen<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel wird der Befehl <\/span>xargs <span style=\"font-weight: normal;\">ohne jegliche Optionen eingesetzt, um die mit dem <\/span>find<span style=\"font-weight: normal;\">-Befehl gefundenen Dateien im aktuellen Arbeitsverzeichnis (und Unterverzeichnissen) alle an den Befehl <\/span>ls <span style=\"font-weight: normal;\">zu &uuml;bergeben. Dieser sortiert die Dateien mithilfe der <\/span>Option -S<span style=\"font-weight: normal;\"> nach ihrer Gr&ouml;&szlig;e und gibt sie schlie&szlig;lich an den Befehl <\/span>head <span style=\"font-weight: normal;\">weiter, welcher nur die ersten 5 Zeilen ausgibt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>find .\/ -type f | xargs ls -lhS | head -5<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Die gr&ouml;&szlig;ten f&uuml;nf im Arbeitsverzeichnis sowie den entsprechenden Unterverzeichnissen vorhandenen Dateien werden ausgegeben.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-xargs-beispiel-1\" data-id=\"7714\" width=\"548\" data-init-width=\"1500\" height=\"64\" data-init-height=\"175\" title=\"befehl-xargs-beispiel-1\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-1.png\" data-width=\"548\" data-height=\"64\"\/><\/span><\/p>\n<h2 id=\"t-1625562976722\">Wichtige Optionen<\/h2>\n<p>In diesem Abschnitt werden die wichtigsten Optionen des Befehls <strong>xargs <\/strong>vorgestellt. Einige Beispiele zeigen dabei auch die praktische Anwendung der jeweiligen Optionen.<\/p>\n<h3 id=\"t-1625562976723\">-a &ndash; Einlesen aus Datei<\/h3>\n<p>Anstelle des Standard-Input <strong>stdin <\/strong>kann auch eine Datei zum Einlesen von Argumenten verwendet werden. Hierzu wird die <strong>Option -a<\/strong> verwendet und die entsprechende Datei als Parameter angegeben:<\/p>\n<pre>xargs -a [Datei] [Befehl [Initiale Argumente]]<\/pre>\n<p>Bei Verwendung dieser Option verbleibt der Standard-Input-Stream <strong>stdin <\/strong>unver&auml;ndert, wenn Befehle ausgef&uuml;hrt werden. Andernfalls wird <strong>stdin <\/strong>von <strong>\/dev\/null<\/strong> umgeleitet.<\/p>\n<h5>Beispiel: Einlesen aus Datei<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Hier sollen die Argumente von <\/span>xargs <span style=\"font-weight: normal;\">aus einer Datei eingelesen werden. Jede Zeile der Eingabedatei stellt in diesem Fall eine Datei dar, welche auch hier wieder mit <\/span>ls <span style=\"font-weight: normal;\">ausgegeben werden soll.<\/span><\/h6>\n<h6>Inhalt \/home\/hellberg\/linux-grundlagen.txt:<\/h6>\n<p>\/home\/hellberg\/profi-tutorials\/linux\/grundlagen\/befehl-sudo.txt<\/p>\n<p>\/home\/hellberg\/profi-tutorials\/linux\/netzwerke\/befehl-scp.txt<\/p>\n<p>\/home\/hellberg\/profi-tutorials\/linux\/administration\/befehl-top.txt<\/p>\n<h6>Eingabe:<\/h6>\n<p>xargs -a \/home\/hellberg\/linux-grundlagen.txt ls -lh<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p><span><img decoding=\"async\" alt=\"befehl-xargs-beispiel-2\" data-id=\"7715\" width=\"548\" data-init-width=\"1550\" height=\"50\" data-init-height=\"142\" title=\"befehl-xargs-beispiel-2\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-2.png\" data-width=\"548\" data-height=\"50\"\/><\/span><\/p>\n<h3 id=\"t-1625562976724\">-0 &ndash; NULL-Zeichen als Delimiter<\/h3>\n<p>Die eingelesenen Argumente werden aufgrund des <strong>NULL-Zeichens<\/strong> anstelle von Leerzeichen getrennt. Au&szlig;erdem werden jegliche Anf&uuml;hrungszeichen sowie R&uuml;ckschr&auml;gstrich-Maskierungen nicht als Sonderzeichen interpretiert &ndash; alle Zeichen werden damit w&ouml;rtlich genommen. Die End-of-File-Zeichenkette (EOF) wird deaktiviert und wie jedes andere Argument interpretiert.<\/p>\n<pre>xargs -0 [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976725\">-d &ndash; Delimiter spezifizieren<\/h3>\n<p>Mit dieser Option kann ein Zeichen spezifiziert werden, welches anstelle des standardm&auml;&szlig;igen Leerzeichens \/ Zeilenumbruchs 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\">Delimiter<\/a> verwendet werden soll. Genau wie auch bei der <strong>Option -0<\/strong> werden alle Zeichen w&ouml;rtlich genommen und die End-of-File-Zeichenkette deaktiviert.<\/p>\n<pre>xargs -d [Zeichen] [Befehl [Initiale Argumente]]<\/pre>\n<p>Angegeben werden kann ein einzelnes Zeichen, ein Escape-Zeichen im C-Stil (etwa <strong>&ldquo;n&rdquo;<\/strong>) oder ein oktaler oder hexadezimaler Escape-Code. Multibyte-Zeichen werden nicht unterst&uuml;tzt.<\/p>\n<h5>Beispiel: Delimiter spezifizieren<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt, wie mit der <\/span>Option -d<span style=\"font-weight: normal;\"> ein Delimiter zur Trennung einzelner Argumente spezifiziert wird. In diesem Fall wird der Delimiter <\/span>&ldquo;;&rdquo;<span style=\"font-weight: normal;\"> gew&auml;hlt, um eine durch Semikola getrennte Liste von Home-Verzeichnissen Zeile f&uuml;r Zeile mit <\/span>echo <span style=\"font-weight: normal;\">in die Ausgabe zu schreiben. Zus&auml;tzlich wird hier die <\/span>Option -n<span style=\"font-weight: normal;\"> verwendet, um die Anzahl Argumente pro Kommandozeile bzw. <\/span>echo<span style=\"font-weight: normal;\">-Befehl auf eines zu beschr&auml;nken.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>printf &ldquo;\/home\/hellberg;\/home\/admina;\/home\/bibo&rdquo; | xargs -n 1 -d &ldquo;;&rdquo; echo<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Die drei in den Standard-Input von <strong>xargs <\/strong>gegebenen Home-Verzeichnisse werden nun zeilenweise ausgegeben.<\/p>\n<p>\/home\/hellberg<\/p>\n<p>\/home\/admina<\/p>\n<p>\/home\/bibo<\/p>\n<h3 id=\"t-1625562976726\">-E &ndash; EOF-Marker spezifizieren<\/h3>\n<p>Der End-of-File-Marker (EOF) wird mit dieser Option auf die angegebene <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> gesetzt. Tritt der spezifizierte EOF-Marker als Eingabezeile auf, so wird die verbleibende Eingabe ignoriert.<\/p>\n<pre>xargs -E [Zeichenkette] [Befehl [Initiale Argumente]]<\/pre>\n<p>Wird keine Zeichenkette angegeben, so gibt es keinen logischen EOF-Marker &ndash; dies ist die Standardeinstellung seit GNU <strong>xargs <\/strong>der Version 4.2.9. Wird neben <strong>-E<\/strong> auch die <strong>Option -d<\/strong> oder <strong>-0<\/strong> verwendet, so wird die hier angegebene Zeichenkette nicht gesondert behandelt, sodass stets die gesamte Eingabe gelesen wird.<\/p>\n<h5>Beispiel: EOF-Marker spezifizieren<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Mithilfe der <\/span>Option -E<span style=\"font-weight: normal;\"> wird hier die Zeichenkette <\/span>&ldquo;ENDE&rdquo;<span style=\"font-weight: normal;\"> als EOF-Marker spezifiziert. Die Argumente f&uuml;r <\/span>xargs <span style=\"font-weight: normal;\">werden aus dem Standard-Input eingelesen und stammen aus der Ausgabe des Befehls <\/span>cat<span style=\"font-weight: normal;\">, welcher auf der Datei <\/span>&ldquo;hellberg.txt&rdquo;<span style=\"font-weight: normal;\"> ausgef&uuml;hrt wird. Mit <\/span>echo <span style=\"font-weight: normal;\">werden die eingelesenen Argumente dann ausgegeben.<\/span><\/h6>\n<h6>Inhalt hellberg.txt:<\/h6>\n<p>hellberg<\/p>\n<p>admina<\/p>\n<p>bibo<\/p>\n<p>ENDE<\/p>\n<p>hedv<\/p>\n<h6>Eingabe:<\/h6>\n<p>cat hellberg.txt | xargs -E &ldquo;ENDE&rdquo; echo<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p>Es werden nun ausschlie&szlig;lich die ersten drei Zeilen der Eingabe hintereinander, auf einer Zeile ausgegeben. Das <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Wort&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Ein Wort ist in der Informatik eine endliche Folge &uuml;ber einem Alphabet.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/wort\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Wort<\/a> <strong>&ldquo;hedv&rdquo;<\/strong>, welches erst hinter dem EOF-Marker <strong>&ldquo;ENDE&rdquo;<\/strong> auftritt, wird von <strong>xargs <\/strong>ignoriert.<\/p>\n<p>hellberg admina bibo<\/p>\n<h3 id=\"t-1625562976727\">-I &ndash; Platzhalter ersetzen<\/h3>\n<p>Die <strong>Option -I<\/strong> wird verwendet, um eine Platzhalter-Zeichenkette festzulegen, welche in den initialen Argumenten des <strong>xargs&rsquo;<\/strong> &uuml;bergebenen Befehls durch die vom Standard-Input gelesenen Argumente ersetzt wird. Die Option impliziert zudem die <strong>Optionen -x<\/strong> und <strong>&ldquo;-l 1&rdquo;<\/strong>.<\/p>\n<pre>xargs -I [Zeichenkette] [Befehl [Initiale Argumente]]<\/pre>\n<p>Leerzeichen, welche nicht in Anf&uuml;hrungszeichen eingefasst sind, werden nicht zur Trennung der Argumente verwendet &ndash; stattdessen wird die Eingabe ausschlie&szlig;lich an Zeilenumbr&uuml;chen getrennt.<\/p>\n<h5>Beispiel: Platzhalter ersetzen<\/h5>\n<p style=\"\">Mit der <strong>Option -I<\/strong> wird in diesem Beispiel ein <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\">Platzhalter<\/a> zur Ersetzung in den initialen Argumenten des <strong>xargs&rsquo;<\/strong> &uuml;bergebenen Befehls spezifiziert. Der hier verwendete <strong>find<\/strong>-Befehl sucht alle Dateien im Verzeichnis <strong>profi-tutorials\/<\/strong> des aktuellen Arbeitsverzeichnisses sowie seinen Unterverzeichnissen &ndash; diese werden an <strong>xargs <\/strong>&uuml;bergeben und dort mit dem Befehl <strong>cp <\/strong>in ein Verzeichnis <strong>\/daten\/sicherung\/<\/strong> kopiert.<\/p>\n<p style=\"\">Die <strong>Option -n<\/strong> f&uuml;r <strong>xargs <\/strong>wird zus&auml;tzlich verwendet, um pro <strong>cp<\/strong>-Befehl jeweils nur ein eingelesenes Argument einzusetzen.<\/p>\n<h6>Eingabe:<\/h6>\n<p>find profi-tutorials\/ -type f | xargs -n 1 -I {} cp {} \/daten\/sicherung\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Direkt im Verzeichnis <strong>\/daten\/sicherung\/<\/strong> befinden sich nun Kopien aller Dateien, welche sich auch in <strong>profi-tutorials\/<\/strong> sowie Unterverzeichnissen befinden.<\/p>\n<h3 id=\"t-1625562976728\">-L &ndash; Maximale Zeilen<\/h3>\n<p>Das mit dieser Option festgelegte Limit bestimmt, wie viele nichtleere Eingabezeilen maximal pro Kommandozeile verwendet werden. Die <strong>Option -x<\/strong> wird impliziert.<\/p>\n<pre>xargs -L [Anzahl] [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976729\">-n &ndash; Maximale Argumente<\/h3>\n<p>Hiermit wird die maximale Anzahl Argumente festgelegt, die pro Kommandozeile verwendet werden. Wird die durch die <strong>Option -s<\/strong> festgelegte maximale Kommandozeilenl&auml;nge &uuml;berschritten, so verwendet <strong>xargs <\/strong>automatisch weniger als die angegebene Anzahl Argumente &ndash; au&szlig;er die <strong>Option -x<\/strong> wurde angegeben, welche <strong>xargs <\/strong>dann beenden l&auml;sst.<\/p>\n<pre>xargs -n [Anzahl] [Befehl [Initiale Argumente]]<\/pre>\n<h5>Beispiel: Maximale Argumente<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Mithilfe der <\/span>Option -n<span style=\"font-weight: normal;\"> wird die verwendete Anzahl Argumente pro Kommandozeile in diesem Beispiel auf eines begrenzt. Die Ausgabe des Befehls <\/span>ls <span style=\"font-weight: normal;\">erfolgt standardm&auml;&szlig;ig auf einer Zeile &ndash; hier soll mit <\/span>xargs <span style=\"font-weight: normal;\">und dem Befehl <\/span>echo<span style=\"font-weight: normal;\">, welcher jeweils ein Argument erh&auml;lt, ein Eintrag pro Zeile ausgegeben werden.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>ls | xargs -n 1 echo<\/p>\n<h6>Ausgabe:<\/h6>\n<p>befehle-systemkontrolle.txt<\/p>\n<p>befehl-hdparm.txt<\/p>\n<p>befehl-top.txt<\/p>\n<p>hardware-informationen-auslesen.txt<\/p>\n<h3 id=\"t-1625562976730\">-p &ndash; Interaktive Ausf&uuml;hrung<\/h3>\n<p>Unter Verwendung dieser Option wird eine Eingabeaufforderung vor jeder Befehlsausf&uuml;hrung gestartet, welche den Benutzer abfragt, ob die jeweilige Befehlszeile ausgef&uuml;hrt werden soll. Der Befehl wird nur dann ausgef&uuml;hrt, wenn die Antwort des Benutzers mit <strong>&ldquo;y&rdquo;<\/strong> oder <strong>&ldquo;Y&rdquo;<\/strong> beginnt. Die <strong>Option -t<\/strong> wird impliziert.<\/p>\n<pre>xargs -p [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976731\">-r &ndash; Keine Ausf&uuml;hrung bei leerem stdin<\/h3>\n<p>Bei Verwendung dieser Option wird der Befehl nicht ausgef&uuml;hrt, wenn der Standard-Input <strong>stdin <\/strong>komplett leer ist. Standardm&auml;&szlig;ig wird der Befehl mindestens einmal ausgef&uuml;hrt, selbst wenn es keine Eingabe gibt.<\/p>\n<pre>xargs -r [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976732\">-s &ndash; Kommandozeilenl&auml;nge limitieren<\/h3>\n<p>Diese Option wird verwendet, um eine maximale Kommandozeilenl&auml;nge festzulegen, welche den Befehl selbst, die initialen Argumente und jegliche terminierenden Nullzeichen am Ende der Argument-Zeichenkette umfasst.<\/p>\n<pre>xargs -s [Anzahl Zeichen] [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976733\">&ndash;show-limits &ndash; Limits ausgeben<\/h3>\n<p>Mithilfe dieser Option k&ouml;nnen die Limits der Kommandozeilenl&auml;nge, welche durch das <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\">Betriebssystem<\/a>, <strong>xargs&rsquo;<\/strong> Wahl der Puffergr&ouml;&szlig;e und die <strong>Option -s<\/strong> festgelegt werden, ausgegeben werden.<\/p>\n<pre>xargs --show-limits [Befehl [Initiale Argumente]]<\/pre>\n<p>Soll <strong>xargs <\/strong>bei der Ausgabe keinen Befehl ausf&uuml;hren, so kann <strong>\/dev\/null<\/strong> als Eingabe dienen und zus&auml;tzlich zudem die <strong>Option -r<\/strong> gew&auml;hlt werden.<\/p>\n<pre>xargs -a \/dev\/null -r --show-limits<\/pre>\n<h5>Beispiel: Limits ausgeben<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt, wie mithilfe der <\/span>Option &ndash;show-limits<span style=\"font-weight: normal;\"> verschiedene Gr&ouml;&szlig;en und Begrenzungen ausgegeben werden. Die Verwendung der Datei <\/span>\/dev\/null<span style=\"font-weight: normal;\"> als Eingabe sowie die <\/span>Option -r<span style=\"font-weight: normal;\"> sorgen daf&uuml;r, dass <\/span>xargs <span style=\"font-weight: normal;\">keine Aktionen ausf&uuml;hrt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>xargs -a \/dev\/null -r &ndash;show-limits<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Die Ausgabe umfasst Informationen zum von den <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Umgebungsvariable&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Eine Umgebungsvariable ist in Betriebssystemen &uuml;blicherweise eine konfigurierbare Variable, welche oft Pfade zu bestimmten Dateien aber auch(...)&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;Environment Variable&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/umgebungsvariable\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Umgebungsvariablen<\/a> belegten Speicher <strong>(1)<\/strong>, der maximal in POSIX erlaubten Argumentl&auml;nge <strong>(2, 3)<\/strong> der tats&auml;chlich nutzbaren maximalen Befehlsl&auml;nge <strong>(4)<\/strong>, der Gr&ouml;&szlig;e des verwendeten Befehlspuffers <strong>(5)<\/strong> sowie dem maximalen Parallelismus <strong>(6)<\/strong>.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-xargs-beispiel-3\" data-id=\"7716\" width=\"548\" data-init-width=\"1165\" height=\"130\" data-init-height=\"277\" title=\"befehl-xargs-beispiel-3\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-3.png\" data-width=\"548\" data-height=\"130\"\/><\/span><\/p>\n<h3 id=\"t-1625562976734\">-t &ndash; Kommandozeilen ausgeben<\/h3>\n<p>Wird diese Option angegeben, so wird jede Kommandozeile vor ihrer Ausf&uuml;hrung im Standard-Error-Output <strong>stderr <\/strong>ausgegeben.<\/p>\n<pre>xargs -t [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976735\">-x &ndash; Beenden bei Limit-&Uuml;berschreitung<\/h3>\n<p><strong>xargs <\/strong>wird bei Verwendung dieser Option beendet, wenn die maximale Kommandozeilenl&auml;nge &uuml;berschritten wird.<\/p>\n<pre>xargs -x [Befehl [Initiale Argumente]]<\/pre>\n<h3 id=\"t-1625562976736\">-P &ndash; Maximale Anzahl Prozesse<\/h3>\n<p>Mithilfe der <strong>Option -P<\/strong> kann die Befehlsausf&uuml;hrung von <strong>xargs <\/strong>parallelisiert und somit eine gewisse Nebenl&auml;ufigkeit erreicht werden. Die Option gibt dabei die maximale Anzahl der durch <strong>xargs <\/strong>gestarteten Prozesse an, die zu einem Zeitpunkt gleichzeitig laufen d&uuml;rfen. Standardwert ist entsprechend der standardm&auml;&szlig;igen seriellen Ausf&uuml;hrung 1. Wird der Wert 0 angegeben, so versucht <strong>xargs <\/strong>so viele Prozesse wie m&ouml;glich gleichzeitig auszuf&uuml;hren.<\/p>\n<pre>xargs -P [Anzahl] [Befehl [Initiale Argumente]]<\/pre>\n<h5>Beispiel: Maximale Anzahl Prozesse<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Die maximale Anzahl Prozesse wird in diesem Beispiel mit der <\/span>Option -P<span style=\"font-weight: normal;\"> auf den Wert 4 gesetzt, um eine Parallelit&auml;t bei dem Herunterladen vieler kleiner Dateien mit dem Befehl <\/span>wget <span style=\"font-weight: normal;\">hervorzurufen. Die URLs, welche den <\/span>wget<span style=\"font-weight: normal;\">-Befehlen &uuml;bergeben werden sollen, sind in der Datei <\/span>&ldquo;profi-tutorials-urls.txt&rdquo;<span style=\"font-weight: normal;\"> im aktuellen Arbeitsverzeichnis aufgelistet &ndash; sie enth&auml;lt insgesamt 87 Zeilen.<\/span><\/h6>\n<p style=\"\"><span style=\"font-weight: normal;\">Der Befehl <\/span><strong>time <\/strong><span style=\"font-weight: normal;\">wird jeweils verwendet, um die Ausf&uuml;hrungszeit von <\/span><strong>xargs <\/strong><span style=\"font-weight: normal;\">zu messen und auszugeben.<\/span><\/p>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Zun&auml;chst sollen einem einzigen <strong>wget<\/strong>-Befehl alle 87 URLs &uuml;bergeben werden, sodass auch nur ein Prozess gestartet wird.<\/p>\n<p>time xargs -a profi-tutorials-urls.txt wget -P \/tmp\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Der Ausgabe ist zu entnehmen, dass ein einzelner <strong>wget<\/strong>-Prozess in diesem Fall etwa <strong>14,3 Sekunden<\/strong> zum Herunterladen aller 87 Dateien ben&ouml;tigt.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-xargs-beispiel-4\" data-id=\"7717\" width=\"548\" data-init-width=\"1000\" height=\"66\" data-init-height=\"121\" title=\"befehl-xargs-beispiel-4\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-4.png\" data-width=\"548\" data-height=\"66\"\/><\/span><\/p>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Dem Befehl <strong>xargs <\/strong>wird nun zus&auml;tzlich die <strong>Option -P<\/strong> mit dem Parameter 4 &uuml;bergeben, um die parallele Ausf&uuml;hrung von bis zu 4 <strong>wget<\/strong>-Prozessen zu erm&ouml;glichen. Weiterhin wird mit der <strong>Option -n<\/strong> die maximale Anzahl Argumente pro <strong>wget<\/strong>-Befehl auf 20 gesetzt, um den durch das Starten neuer <strong>wget<\/strong>-Prozesse erzeugten Overhead m&ouml;glichst zu minimieren.<\/p>\n<p>time xargs -a profi-tutorials-urls.txt -n 20 -P 4 wget -P \/tmp\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Bei paralleler Ausf&uuml;hrung der <strong>wget<\/strong>-Befehle wurden nur noch etwa <strong>8,2 Sekunden<\/strong> zum Herunterladen der 87 Dateien ben&ouml;tigt &ndash; dies entspricht in diesem Beispiel einer <strong>Zeitersparnis von ca. 42%<\/strong>.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-xargs-beispiel-5\" data-id=\"7718\" width=\"548\" data-init-width=\"1000\" height=\"66\" data-init-height=\"120\" title=\"befehl-xargs-beispiel-5\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-5.png\" data-width=\"548\" data-height=\"66\"\/><\/span><\/p>\n<h2 id=\"t-1625562976737\">Exit-Codes<\/h2>\n<p>Die folgende Tabelle zeigt die verschiedenen <strong>Exit-Codes<\/strong> sowie die jeweils angezeigten <strong>Status <\/strong>des Befehls <strong>xargs<\/strong>.<\/p>\n<table data-rows=\"9\" data-cols=\"2\" data-v=\"middle\">\n<thead>\n<tr>\n<th style=\"\"><strong>Exit-Code<\/strong><\/th>\n<th style=\"\">Status<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\">0<\/td>\n<td data-th=\"Status\" style=\"\">Ausf&uuml;hrung erfolgreich<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\">123<\/td>\n<td data-th=\"Status\" style=\"\">Ein beliebiger Aufruf des gegebenen Befehls wurde mit dem Exit-Code 1-125 beendet<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\">124<\/td>\n<td data-th=\"Status\" style=\"\">Der gegebene Befehl wurde mit dem Exit-Code 255 beendet<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\">125<\/td>\n<td data-th=\"Status\" style=\"\">Der gegebene Befehl wurde von einem Signal beendet<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\" rowspan=\"1\" colspan=\"1\">126<\/td>\n<td data-th=\"Status\" style=\"\" rowspan=\"1\" colspan=\"1\">Der gegebene Befehl kann nicht ausgef&uuml;hrt werden<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\" rowspan=\"1\" colspan=\"1\">127<\/td>\n<td data-th=\"Status\" style=\"\" rowspan=\"1\" colspan=\"1\">Der gegebene Befehl wurde nicht gefunden<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\" rowspan=\"1\" colspan=\"1\">128+<\/td>\n<td data-th=\"Status\" style=\"\" rowspan=\"1\" colspan=\"1\">Werden von der Shell verwendet, um anzuzeigen, dass ein Programm aufgrund eines fatalen Signals abgebrochen wurde<\/td>\n<\/tr>\n<tr>\n<td data-th=\"Exit-Code\" style=\"\" rowspan=\"1\" colspan=\"1\">1<\/td>\n<td data-th=\"Status\" style=\"\" rowspan=\"1\" colspan=\"1\">Ein anderer Fehler ist aufgetreten (Catchall)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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>In diesem Beitrag lernen Sie den Befehl xargs kennen, welcher verwendet wird, um Befehle mit Argumenten auszuf\u00fchren, welche vom Standard-Input gelesen werden. Viele Befehle lassen sich unter Linux- \/ UNIX standardm\u00e4\u00dfig sowohl auf einzelnen Dateien, als auch auf Listen von Dateien anwenden &#8211; ist dies nicht m\u00f6glich, kann der Befehl xargs eingesetzt werden. Ein weiterer [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":7884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","tve_updated_post":"<div class=\"thrv_wrapper thrv_text_element\">\t<p>In diesem Beitrag lernen Sie den Befehl xargs kennen, welcher verwendet wird, um Befehle mit Argumenten auszuf\u00fchren, welche vom Standard-Input gelesen werden. Viele Befehle lassen sich unter Linux- \/ UNIX standardm\u00e4\u00dfig sowohl auf einzelnen Dateien, als auch auf Listen von Dateien anwenden - ist dies nicht m\u00f6glich, kann der Befehl xargs eingesetzt werden. Ein weiterer Anwendungsfall f\u00fcr xargs ist zudem die Parallelisierung mehrerer Befehle, zum Beispiel rsync, um eine bessere Ausnutzung der Ressourcen des Systems zu erm\u00f6glichen.<\/p><p>Zu Beginn wird die allgemeine Syntax des Befehls xargs gezeigt. Anschlie\u00dfend folgen die wichtigsten Optionen des Befehls mitsamt einiger Beispiele.<\/p><\/div><div class=\"thrv_wrapper thrv_contents_table\" data-columns=\"2\" data-headers=\"h2,h3\">\n\t<div class=\"tve_contents_table\">\n\t\t<span class=\"tve_ct_title\" style=\"\" data-css=\"tve-u-17a7b200345\">Inhaltsverzeichnis<\/span>\n\t\t<div class=\"tve_ct_content tve_clearfix\"><div class=\"ct_column\"><div class=\"tve_ct_level0\"><a href=\"#t-1625562976721\" rel=\"nofollow\">Allgemeine Syntax<\/a><\/div><div class=\"tve_ct_level0\"><a href=\"#t-1625562976722\" rel=\"nofollow\">Wichtige Optionen<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976723\" rel=\"nofollow\">-a - Einlesen aus Datei<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976724\" rel=\"nofollow\">-0 - NULL-Zeichen als Delimiter<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976725\" rel=\"nofollow\">-d - Delimiter spezifizieren<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976726\" rel=\"nofollow\">-E - EOF-Marker spezifizieren<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976727\" rel=\"nofollow\">-I - Platzhalter ersetzen<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976728\" rel=\"nofollow\">-L - Maximale Zeilen<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976729\" rel=\"nofollow\">-n - Maximale Argumente<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976730\" rel=\"nofollow\">-p - Interaktive Ausf\u00fchrung<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976731\" rel=\"nofollow\">-r - Keine Ausf\u00fchrung bei leerem stdin<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976732\" rel=\"nofollow\">-s - Kommandozeilenl\u00e4nge limitieren<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976733\" rel=\"nofollow\">--show-limits - Limits ausgeben<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976734\" rel=\"nofollow\">-t - Kommandozeilen ausgeben<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976735\" rel=\"nofollow\">-x - Beenden bei Limit-\u00dcberschreitung<\/a><\/div><div class=\"tve_ct_level1\"><a href=\"#t-1625562976736\" rel=\"nofollow\">-P - Maximale Anzahl Prozesse<\/a><\/div><\/div><div class=\"ct_column\"><div class=\"tve_ct_level0\"><a href=\"#t-1625562976737\" rel=\"nofollow\">Exit-Codes<\/a><\/div><\/div><\/div>\n\t<\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h2 class=\"\" id=\"t-1625562976721\">Allgemeine Syntax<\/h2><p><strong>xargs <\/strong>wird neben verschiedenen verf\u00fcgbaren Optionen ein Befehl \u00fcbergeben, welcher dann mit den eingelesenen Argumenten ausgef\u00fchrt wird. Der Befehl kann dabei ganz normal mitsamt beliebiger initialer Argumente angegeben werden - <strong>xargs <\/strong>wird die aus dem Standard-Input <strong>stdin <\/strong>eingelesenen Argumente dann standardm\u00e4\u00dfig jeweils am Ende des Befehls anf\u00fcgen. Die allgemeine Syntax lautet somit folgenderma\u00dfen:<\/p><p>[code]xargs [Optionen] [Befehl [Initiale Argumente]][\/code]<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b256036\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b25602f\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b25602e\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b25602d\">Beispiel: xargs ohne Optionen<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b256030\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b256038\"><span style=\"font-weight: normal;\">In diesem Beispiel wird der Befehl <\/span>xargs <span style=\"font-weight: normal;\">ohne jegliche Optionen eingesetzt, um die mit dem <\/span>find<span style=\"font-weight: normal;\">-Befehl gefundenen Dateien im aktuellen Arbeitsverzeichnis (und Unterverzeichnissen) alle an den Befehl <\/span>ls <span style=\"font-weight: normal;\">zu \u00fcbergeben. Dieser sortiert die Dateien mithilfe der <\/span>Option -S<span style=\"font-weight: normal;\"> nach ihrer Gr\u00f6\u00dfe und gibt sie schlie\u00dflich an den Befehl <\/span>head <span style=\"font-weight: normal;\">weiter, welcher nur die ersten 5 Zeilen ausgibt.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b256032\"><p data-css=\"tve-u-17a7b256033\">find .\/ -type f | xargs ls -lhS | head -5<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b256037\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b256034\">Die gr\u00f6\u00dften f\u00fcnf im Arbeitsverzeichnis sowie den entsprechenden Unterverzeichnissen vorhandenen Dateien werden ausgegeben.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-17a7b8905e9\"><span class=\"tve_image_frame\"><img class=\"tve_image wp-image-7714\" alt=\"befehl-xargs-beispiel-1\" data-id=\"7714\" width=\"548\" data-init-width=\"1500\" height=\"64\" data-init-height=\"175\" title=\"befehl-xargs-beispiel-1\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-1.png\" data-width=\"548\" data-height=\"64\"><\/span><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h2 class=\"\" id=\"t-1625562976722\">Wichtige Optionen<\/h2><p>In diesem Abschnitt werden die wichtigsten Optionen des Befehls <strong>xargs <\/strong>vorgestellt. Einige Beispiele zeigen dabei auch die praktische Anwendung der jeweiligen Optionen.<\/p><h3 class=\"\" id=\"t-1625562976723\">-a - Einlesen aus Datei<\/h3><p>Anstelle des Standard-Input <strong>stdin <\/strong>kann auch eine Datei zum Einlesen von Argumenten verwendet werden. Hierzu wird die <strong>Option -a<\/strong> verwendet und die entsprechende Datei als Parameter angegeben:<\/p><p>[code]xargs -a [Datei] [Befehl [Initiale Argumente]][\/code]<\/p><p>Bei Verwendung dieser Option verbleibt der Standard-Input-Stream <strong>stdin <\/strong>unver\u00e4ndert, wenn Befehle ausgef\u00fchrt werden. Andernfalls wird <strong>stdin <\/strong>von <strong>\/dev\/null<\/strong> umgeleitet.<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b320439\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b320433\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b320431\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b320430\">Beispiel: Einlesen aus Datei<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b320434\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b32043b\"><span style=\"font-weight: normal;\">Hier sollen die Argumente von <\/span>xargs <span style=\"font-weight: normal;\">aus einer Datei eingelesen werden. Jede Zeile der Eingabedatei stellt in diesem Fall eine Datei dar, welche auch hier wieder mit <\/span>ls <span style=\"font-weight: normal;\">ausgegeben werden soll.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Inhalt \/home\/hellberg\/linux-grundlagen.txt:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b320435\"><p data-css=\"tve-u-17a7b320436\">\/home\/hellberg\/profi-tutorials\/linux\/grundlagen\/befehl-sudo.txt<\/p><p data-css=\"tve-u-17a7b320436\">\/home\/hellberg\/profi-tutorials\/linux\/netzwerke\/befehl-scp.txt<\/p><p data-css=\"tve-u-17a7b320436\">\/home\/hellberg\/profi-tutorials\/linux\/administration\/befehl-top.txt<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b32043a\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b320435\"><p data-css=\"tve-u-17a7b320436\">xargs -a \/home\/hellberg\/linux-grundlagen.txt ls -lh<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b348b77\"><h6 class=\"\">Nach Ausf\u00fchrung:<\/h6><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-17a7b89342a\"><span class=\"tve_image_frame\"><img class=\"tve_image wp-image-7715\" alt=\"befehl-xargs-beispiel-2\" data-id=\"7715\" width=\"548\" data-init-width=\"1550\" height=\"50\" data-init-height=\"142\" title=\"befehl-xargs-beispiel-2\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-2.png\" data-width=\"548\" data-height=\"50\"><\/span><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976724\">-0 - NULL-Zeichen als Delimiter<\/h3><p>Die eingelesenen Argumente werden aufgrund des <strong>NULL-Zeichens<\/strong> anstelle von Leerzeichen getrennt. Au\u00dferdem werden jegliche Anf\u00fchrungszeichen sowie R\u00fcckschr\u00e4gstrich-Maskierungen nicht als Sonderzeichen interpretiert - alle Zeichen werden damit w\u00f6rtlich genommen. Die End-of-File-Zeichenkette (EOF) wird deaktiviert und wie jedes andere Argument interpretiert.<\/p><p>[code]xargs -0 [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976725\">-d - Delimiter spezifizieren<\/h3><p>Mit dieser Option kann ein Zeichen spezifiziert werden, welches anstelle des standardm\u00e4\u00dfigen Leerzeichens \/ Zeilenumbruchs als Delimiter verwendet werden soll. Genau wie auch bei der <strong>Option -0<\/strong> werden alle Zeichen w\u00f6rtlich genommen und die End-of-File-Zeichenkette deaktiviert.<\/p><p>[code]xargs -d [Zeichen] [Befehl [Initiale Argumente]][\/code]<\/p><p>Angegeben werden kann ein einzelnes Zeichen, ein Escape-Zeichen im C-Stil (etwa <strong>\"\\n\"<\/strong>) oder ein oktaler oder hexadezimaler Escape-Code. Multibyte-Zeichen werden nicht unterst\u00fctzt.<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b3cdc4c\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b3cdc44\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b3cdc43\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b3cdc42\">Beispiel: Delimiter spezifizieren<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b3cdc46\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b3cdc4e\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt, wie mit der <\/span>Option -d<span style=\"font-weight: normal;\"> ein Delimiter zur Trennung einzelner Argumente spezifiziert wird. In diesem Fall wird der Delimiter <\/span>\";\"<span style=\"font-weight: normal;\"> gew\u00e4hlt, um eine durch Semikola getrennte Liste von Home-Verzeichnissen Zeile f\u00fcr Zeile mit <\/span>echo <span style=\"font-weight: normal;\">in die Ausgabe zu schreiben. Zus\u00e4tzlich wird hier die <\/span>Option -n<span style=\"font-weight: normal;\"> verwendet, um die Anzahl Argumente pro Kommandozeile bzw. <\/span>echo<span style=\"font-weight: normal;\">-Befehl auf eines zu beschr\u00e4nken.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b3cdc47\"><p data-css=\"tve-u-17a7b3cdc48\">printf \"\/home\/hellberg;\/home\/admina;\/home\/bibo\" | xargs -n 1 -d \";\" echo<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b3cdc4d\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b3cdc49\">Die drei in den Standard-Input von <strong>xargs <\/strong>gegebenen Home-Verzeichnisse werden nun zeilenweise ausgegeben.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b3cdc47\"><p data-css=\"tve-u-17a7b3cdc48\">\/home\/hellberg<\/p><p data-css=\"tve-u-17a7b3cdc48\">\/home\/admina<\/p><p data-css=\"tve-u-17a7b3cdc48\">\/home\/bibo<\/p><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976726\">-E - EOF-Marker spezifizieren<\/h3><p>Der End-of-File-Marker (EOF) wird mit dieser Option auf die angegebene Zeichenkette gesetzt. Tritt der spezifizierte EOF-Marker als Eingabezeile auf, so wird die verbleibende Eingabe ignoriert.<\/p><p>[code]xargs -E [Zeichenkette] [Befehl [Initiale Argumente]][\/code]<\/p><p>Wird keine Zeichenkette angegeben, so gibt es keinen logischen EOF-Marker - dies ist die Standardeinstellung seit GNU <strong>xargs <\/strong>der Version 4.2.9. Wird neben <strong>-E<\/strong> auch die <strong>Option -d<\/strong> oder <strong>-0<\/strong> verwendet, so wird die hier angegebene Zeichenkette nicht gesondert behandelt, sodass stets die gesamte Eingabe gelesen wird.<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b4725a7\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b4725a0\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b47259e\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b47259d\">Beispiel: EOF-Marker spezifizieren<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b4725a1\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b4725a9\"><span style=\"font-weight: normal;\">Mithilfe der <\/span>Option -E<span style=\"font-weight: normal;\"> wird hier die Zeichenkette <\/span>\"ENDE\"<span style=\"font-weight: normal;\"> als EOF-Marker spezifiziert. Die Argumente f\u00fcr <\/span>xargs <span style=\"font-weight: normal;\">werden aus dem Standard-Input eingelesen und stammen aus der Ausgabe des Befehls <\/span>cat<span style=\"font-weight: normal;\">, welcher auf der Datei <\/span>\"hellberg.txt\"<span style=\"font-weight: normal;\"> ausgef\u00fchrt wird. Mit <\/span>echo <span style=\"font-weight: normal;\">werden die eingelesenen Argumente dann ausgegeben.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Inhalt hellberg.txt:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b4725a2\"><p data-css=\"tve-u-17a7b4725a3\">hellberg<\/p><p data-css=\"tve-u-17a7b4725a3\">admina<\/p><p data-css=\"tve-u-17a7b4725a3\">bibo<\/p><p data-css=\"tve-u-17a7b4725a3\">ENDE<\/p><p data-css=\"tve-u-17a7b4725a3\">hedv<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b4725a8\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b4725a2\"><p data-css=\"tve-u-17a7b4725a3\">cat hellberg.txt | xargs -E \"ENDE\" echo<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b4725a8\"><h6 class=\"\">Nach Ausf\u00fchrung:<\/h6><p data-css=\"tve-u-17a7b4725a5\">Es werden nun ausschlie\u00dflich die ersten drei Zeilen der Eingabe hintereinander, auf einer Zeile ausgegeben. Das Wort <strong>\"hedv\"<\/strong>, welches erst hinter dem EOF-Marker <strong>\"ENDE\"<\/strong> auftritt, wird von <strong>xargs <\/strong>ignoriert.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b4725a2\"><p data-css=\"tve-u-17a7b4725a3\">hellberg admina bibo<\/p><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976727\">-I - Platzhalter ersetzen<\/h3><p>Die <strong>Option -I<\/strong> wird verwendet, um eine Platzhalter-Zeichenkette festzulegen, welche in den initialen Argumenten des <strong>xargs'<\/strong> \u00fcbergebenen Befehls durch die vom Standard-Input gelesenen Argumente ersetzt wird. Die Option impliziert zudem die <strong>Optionen -x<\/strong> und <strong>\"-l 1\"<\/strong>.<\/p><p>[code]xargs -I [Zeichenkette] [Befehl [Initiale Argumente]][\/code]<\/p><p>Leerzeichen, welche nicht in Anf\u00fchrungszeichen eingefasst sind, werden nicht zur Trennung der Argumente verwendet - stattdessen wird die Eingabe ausschlie\u00dflich an Zeilenumbr\u00fcchen getrennt.<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b50bd4f\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b50bd49\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b50bd48\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b50bd47\">Beispiel: Platzhalter ersetzen<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b50bd4a\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\">\t<p data-css=\"tve-u-17a7b537a22\" style=\"\">Mit der <strong>Option -I<\/strong> wird in diesem Beispiel ein Platzhalter zur Ersetzung in den initialen Argumenten des <strong>xargs'<\/strong> \u00fcbergebenen Befehls spezifiziert. Der hier verwendete <strong>find<\/strong>-Befehl sucht alle Dateien im Verzeichnis <strong>profi-tutorials\/<\/strong> des aktuellen Arbeitsverzeichnisses sowie seinen Unterverzeichnissen - diese werden an <strong>xargs <\/strong>\u00fcbergeben und dort mit dem Befehl <strong>cp <\/strong>in ein Verzeichnis <strong>\/daten\/sicherung\/<\/strong> kopiert.<\/p><p data-css=\"tve-u-17a7b544000\" style=\"\">Die <strong>Option -n<\/strong> f\u00fcr <strong>xargs <\/strong>wird zus\u00e4tzlich verwendet, um pro <strong>cp<\/strong>-Befehl jeweils nur ein eingelesenes Argument einzusetzen.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b50bd4b\"><p data-css=\"tve-u-17a7b50bd4c\">find profi-tutorials\/ -type f | xargs -n 1 -I {} cp {} \/daten\/sicherung\/<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b50bd50\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b50bd4d\">Direkt im Verzeichnis <strong>\/daten\/sicherung\/<\/strong> befinden sich nun Kopien aller Dateien, welche sich auch in <strong>profi-tutorials\/<\/strong> sowie Unterverzeichnissen befinden.<\/p><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976728\">-L - Maximale Zeilen<\/h3><p>Das mit dieser Option festgelegte Limit bestimmt, wie viele nichtleere Eingabezeilen maximal pro Kommandozeile verwendet werden. Die <strong>Option -x<\/strong> wird impliziert.<\/p><p>[code]xargs -L [Anzahl] [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976729\">-n - Maximale Argumente<\/h3><p>Hiermit wird die maximale Anzahl Argumente festgelegt, die pro Kommandozeile verwendet werden. Wird die durch die <strong>Option -s<\/strong> festgelegte maximale Kommandozeilenl\u00e4nge \u00fcberschritten, so verwendet <strong>xargs <\/strong>automatisch weniger als die angegebene Anzahl Argumente - au\u00dfer die <strong>Option -x<\/strong> wurde angegeben, welche <strong>xargs <\/strong>dann beenden l\u00e4sst.<\/p><p>[code]xargs -n [Anzahl] [Befehl [Initiale Argumente]][\/code]<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b5b9d9b\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b5b9d95\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b5b9d94\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b5b9d93\">Beispiel: Maximale Argumente<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b5b9d96\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b5b9d9e\"><span style=\"font-weight: normal;\">Mithilfe der <\/span>Option -n<span style=\"font-weight: normal;\"> wird die verwendete Anzahl Argumente pro Kommandozeile in diesem Beispiel auf eines begrenzt. Die Ausgabe des Befehls <\/span>ls <span style=\"font-weight: normal;\">erfolgt standardm\u00e4\u00dfig auf einer Zeile - hier soll mit <\/span>xargs <span style=\"font-weight: normal;\">und dem Befehl <\/span>echo<span style=\"font-weight: normal;\">, welcher jeweils ein Argument erh\u00e4lt, ein Eintrag pro Zeile ausgegeben werden.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b5b9d97\"><p data-css=\"tve-u-17a7b5b9d98\">ls | xargs -n 1 echo<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b5b9d9d\"><h6 class=\"\">Ausgabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b5b9d97\"><p data-css=\"tve-u-17a7b5b9d98\">befehle-systemkontrolle.txt<\/p><p data-css=\"tve-u-17a7b5b9d98\">befehl-hdparm.txt<\/p><p data-css=\"tve-u-17a7b5b9d98\">befehl-top.txt<\/p><p data-css=\"tve-u-17a7b5b9d98\">hardware-informationen-auslesen.txt<\/p><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976730\">-p - Interaktive Ausf\u00fchrung<\/h3><p>Unter Verwendung dieser Option wird eine Eingabeaufforderung vor jeder Befehlsausf\u00fchrung gestartet, welche den Benutzer abfragt, ob die jeweilige Befehlszeile ausgef\u00fchrt werden soll. Der Befehl wird nur dann ausgef\u00fchrt, wenn die Antwort des Benutzers mit <strong>\"y\"<\/strong> oder <strong>\"Y\"<\/strong> beginnt. Die <strong>Option -t<\/strong> wird impliziert.<\/p><p>[code]xargs -p [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976731\">-r - Keine Ausf\u00fchrung bei leerem stdin<\/h3><p>Bei Verwendung dieser Option wird der Befehl nicht ausgef\u00fchrt, wenn der Standard-Input <strong>stdin <\/strong>komplett leer ist. Standardm\u00e4\u00dfig wird der Befehl mindestens einmal ausgef\u00fchrt, selbst wenn es keine Eingabe gibt.<\/p><p>[code]xargs -r [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976732\">-s - Kommandozeilenl\u00e4nge limitieren<\/h3><p>Diese Option wird verwendet, um eine maximale Kommandozeilenl\u00e4nge festzulegen, welche den Befehl selbst, die initialen Argumente und jegliche terminierenden Nullzeichen am Ende der Argument-Zeichenkette umfasst.<\/p><p>[code]xargs -s [Anzahl Zeichen] [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976733\">--show-limits - Limits ausgeben<\/h3><p>Mithilfe dieser Option k\u00f6nnen die Limits der Kommandozeilenl\u00e4nge, welche durch das Betriebssystem, <strong>xargs'<\/strong> Wahl der Puffergr\u00f6\u00dfe und die <strong>Option -s<\/strong> festgelegt werden, ausgegeben werden.<\/p><p>[code]xargs --show-limits [Befehl [Initiale Argumente]][\/code]<\/p><p>Soll <strong>xargs <\/strong>bei der Ausgabe keinen Befehl ausf\u00fchren, so kann <strong>\/dev\/null<\/strong> als Eingabe dienen und zus\u00e4tzlich zudem die <strong>Option -r<\/strong> gew\u00e4hlt werden.<\/p><p>[code]xargs -a \/dev\/null -r --show-limits[\/code]<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b66133f\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b661337\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b661336\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b661334\">Beispiel: Limits ausgeben<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b661338\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" style=\"\" data-css=\"tve-u-17a7b661341\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt, wie mithilfe der <\/span>Option --show-limits<span style=\"font-weight: normal;\"> verschiedene Gr\u00f6\u00dfen und Begrenzungen ausgegeben werden. Die Verwendung der Datei <\/span>\/dev\/null<span style=\"font-weight: normal;\"> als Eingabe sowie die <\/span>Option -r<span style=\"font-weight: normal;\"> sorgen daf\u00fcr, dass <\/span>xargs <span style=\"font-weight: normal;\">keine Aktionen ausf\u00fchrt.<\/span><\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b66133a\"><p data-css=\"tve-u-17a7b66133b\">xargs -a \/dev\/null -r --show-limits<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b661340\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b66133c\">Die Ausgabe umfasst Informationen zum von den Umgebungsvariablen belegten Speicher <strong>(1)<\/strong>, der maximal in POSIX erlaubten Argumentl\u00e4nge <strong>(2, 3)<\/strong> der tats\u00e4chlich nutzbaren maximalen Befehlsl\u00e4nge <strong>(4)<\/strong>, der Gr\u00f6\u00dfe des verwendeten Befehlspuffers <strong>(5)<\/strong> sowie dem maximalen Parallelismus <strong>(6)<\/strong>.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-17a7b8a71e9\"><span class=\"tve_image_frame\"><img class=\"tve_image wp-image-7716\" alt=\"befehl-xargs-beispiel-3\" data-id=\"7716\" width=\"548\" data-init-width=\"1165\" height=\"130\" data-init-height=\"277\" title=\"befehl-xargs-beispiel-3\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-3.png\" data-width=\"548\" data-height=\"130\"><\/span><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1625562976734\">-t - Kommandozeilen ausgeben<\/h3><p>Wird diese Option angegeben, so wird jede Kommandozeile vor ihrer Ausf\u00fchrung im Standard-Error-Output <strong>stderr <\/strong>ausgegeben.<\/p><p>[code]xargs -t [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976735\">-x - Beenden bei Limit-\u00dcberschreitung<\/h3><p><strong>xargs <\/strong>wird bei Verwendung dieser Option beendet, wenn die maximale Kommandozeilenl\u00e4nge \u00fcberschritten wird.<\/p><p>[code]xargs -x [Befehl [Initiale Argumente]][\/code]<\/p><h3 class=\"\" id=\"t-1625562976736\">-P - Maximale Anzahl Prozesse<\/h3><p>Mithilfe der <strong>Option -P<\/strong> kann die Befehlsausf\u00fchrung von <strong>xargs <\/strong>parallelisiert und somit eine gewisse Nebenl\u00e4ufigkeit erreicht werden. Die Option gibt dabei die maximale Anzahl der durch <strong>xargs <\/strong>gestarteten Prozesse an, die zu einem Zeitpunkt gleichzeitig laufen d\u00fcrfen. Standardwert ist entsprechend der standardm\u00e4\u00dfigen seriellen Ausf\u00fchrung 1. Wird der Wert 0 angegeben, so versucht <strong>xargs <\/strong>so viele Prozesse wie m\u00f6glich gleichzeitig auszuf\u00fchren.<\/p><p>[code]xargs -P [Anzahl] [Befehl [Initiale Argumente]][\/code]<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-17a7b77aed3\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b77aecd\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b77aecc\" style=\"\"><h5 class=\"\" data-css=\"tve-u-17a7b77aecb\">Beispiel: Maximale Anzahl Prozesse<\/h5><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"2\" data-color-d=\"rgb(66, 66, 66)\" data-css=\"tve-u-17a7b77aece\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\" data-css=\"tve-u-17a7b77aed6\" style=\"\"><span style=\"font-weight: normal;\">Die maximale Anzahl Prozesse wird in diesem Beispiel mit der <\/span>Option -P<span style=\"font-weight: normal;\"> auf den Wert 4 gesetzt, um eine Parallelit\u00e4t bei dem Herunterladen vieler kleiner Dateien mit dem Befehl <\/span>wget <span style=\"font-weight: normal;\">hervorzurufen. Die URLs, welche den <\/span>wget<span style=\"font-weight: normal;\">-Befehlen \u00fcbergeben werden sollen, sind in der Datei <\/span>\"profi-tutorials-urls.txt\"<span style=\"font-weight: normal;\"> im aktuellen Arbeitsverzeichnis aufgelistet - sie enth\u00e4lt insgesamt 87 Zeilen.<\/span><\/h6><p style=\"\" data-css=\"tve-u-17a7b7a41b2\"><span style=\"font-weight: normal;\">Der Befehl <\/span><strong>time <\/strong><span style=\"font-weight: normal;\">wird jeweils verwendet, um die Ausf\u00fchrungszeit von <\/span><strong>xargs <\/strong><span style=\"font-weight: normal;\">zu messen und auszugeben.<\/span><\/p><\/div><div class=\"thrv_wrapper thrv_text_element\"><h6 class=\"\">Eingabe:<\/h6><p data-css=\"tve-u-17a7b77aed2\" style=\"\">Zun\u00e4chst sollen einem einzigen <strong>wget<\/strong>-Befehl alle 87 URLs \u00fcbergeben werden, sodass auch nur ein Prozess gestartet wird.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b77aecf\"><p data-css=\"tve-u-17a7b77aed0\">time xargs -a profi-tutorials-urls.txt wget -P \/tmp\/<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b77aed5\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b77aed1\">Der Ausgabe ist zu entnehmen, dass ein einzelner <strong>wget<\/strong>-Prozess in diesem Fall etwa <strong>14,3 Sekunden<\/strong> zum Herunterladen aller 87 Dateien ben\u00f6tigt.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-17a7b8aeb3c\"><span class=\"tve_image_frame\"><img class=\"tve_image wp-image-7717\" alt=\"befehl-xargs-beispiel-4\" data-id=\"7717\" width=\"548\" data-init-width=\"1000\" height=\"66\" data-init-height=\"121\" title=\"befehl-xargs-beispiel-4\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-4.png\" data-width=\"548\" data-height=\"66\"><\/span><\/div><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-17a7b7b5fbf\" style=\"\"><h6 class=\"\">Eingabe:<\/h6><p data-css=\"tve-u-17a7b77aed2\" style=\"\">Dem Befehl <strong>xargs <\/strong>wird nun zus\u00e4tzlich die <strong>Option -P<\/strong> mit dem Parameter 4 \u00fcbergeben, um die parallele Ausf\u00fchrung von bis zu 4 <strong>wget<\/strong>-Prozessen zu erm\u00f6glichen. Weiterhin wird mit der <strong>Option -n<\/strong> die maximale Anzahl Argumente pro <strong>wget<\/strong>-Befehl auf 20 gesetzt, um den durch das Starten neuer <strong>wget<\/strong>-Prozesse erzeugten Overhead m\u00f6glichst zu minimieren.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b77aecf\"><p data-css=\"tve-u-17a7b77aed0\">time xargs -a profi-tutorials-urls.txt -n 20 -P 4 wget -P \/tmp\/<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b77aed5\"><h6 class=\"\">Ausgabe:<\/h6><p data-css=\"tve-u-17a7b77aed1\">Bei paralleler Ausf\u00fchrung der <strong>wget<\/strong>-Befehle wurden nur noch etwa <strong>8,2 Sekunden<\/strong> zum Herunterladen der 87 Dateien ben\u00f6tigt - dies entspricht in diesem Beispiel einer <strong>Zeitersparnis von ca. 42%<\/strong>.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-17a7b8b012a\"><span class=\"tve_image_frame\"><img class=\"tve_image wp-image-7718\" alt=\"befehl-xargs-beispiel-5\" data-id=\"7718\" width=\"548\" data-init-width=\"1000\" height=\"66\" data-init-height=\"120\" title=\"befehl-xargs-beispiel-5\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/07\/befehl-xargs-beispiel-5.png\" data-width=\"548\" data-height=\"66\"><\/span><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h2 class=\"\" id=\"t-1625562976737\">Exit-Codes<\/h2><p>Die folgende Tabelle zeigt die verschiedenen <strong>Exit-Codes<\/strong> sowie die jeweils angezeigten <strong>Status <\/strong>des Befehls <strong>xargs<\/strong>.<\/p><\/div><div class=\"thrv_wrapper thrv_table tcb-fixed tcb-mobile-table\" data-ct-name=\"Simple 01\" data-ct=\"table-37694\" data-element-name=\"Table\" data-css=\"tve-u-17a7b848110\"><table data-rows=\"9\" data-cols=\"2\" class=\"tve_table tcb-fixed tve_table_flat\" data-css=\"tve-u-17a7b84810f\" data-v=\"middle\"><thead data-css=\"tve-u-17a7b848111\"><tr class=\"tve_table_row\"><th class=\"tve_table_cell\" style=\"\" data-css=\"tve-u-17a7b84811e\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b87\"><p data-css=\"tve-u-17a7b84811d\"><strong>Exit-Code<\/strong><\/p><\/div><\/th><th class=\"tve_table_cell\" style=\"\" data-css=\"tve-u-1702eea2d74\"><div class=\"thrv_wrapper thrv_text_element\"><p data-css=\"tve-u-17a7b84811f\">Status<\/p><\/div><\/th><\/tr><\/thead><tbody data-css=\"tve-u-17a7b848117\"><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b848123\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>0<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b848126\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>Ausf\u00fchrung erfolgreich<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b848124\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>123<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b848127\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>Ein beliebiger Aufruf des gegebenen Befehls wurde mit dem Exit-Code 1-125 beendet<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b848125\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>124<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b848128\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>Der gegebene Befehl wurde mit dem Exit-Code 255 beendet<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b8753e0\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>125<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b875402\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\"><p>Der gegebene Befehl wurde von einem Signal beendet<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b8753e3\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b856af0\">126<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b875404\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b867a57\">Der gegebene Befehl kann nicht ausgef\u00fchrt werden<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b8753e5\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b85767f\">127<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b875408\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b869fae\">Der gegebene Befehl wurde nicht gefunden<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b8753e8\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b8581ca\">128+<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b87540a\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b86b330\">Werden von der Shell verwendet, um anzuzeigen, dass ein Programm aufgrund eines fatalen Signals abgebrochen wurde<\/p><\/div><\/td><\/tr><tr class=\"tve_table_row\"><td class=\"tve_table_cell\" data-th=\"Exit-Code\" data-css=\"tve-u-17a7b848129\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b858e3c\">1<\/p><\/div><\/td><td class=\"tve_table_cell\" data-th=\"Status\" data-css=\"tve-u-17a7b84812a\" style=\"\" rowspan=\"1\" colspan=\"1\"><div class=\"thrv_wrapper thrv_text_element\" data-css=\"tve-u-1702ecf6b8f\">\t<p data-css=\"tve-u-17a7b8721b2\">Ein anderer Fehler ist aufgetreten (Catchall)<\/p><\/div><\/td><\/tr><\/tbody><\/table><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" style=\"\" data-css=\"tve-u-17a7b8491ca\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-17a7b8491ce\"><\/div>\n\t<div class=\"tve-cb\"><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b8491cd\"><p data-css=\"tve-u-17a7b8491c9\" style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p><\/div><div class=\"thrv_wrapper thrv-divider\" data-style-d=\"tve_sep-1\" data-thickness-d=\"3\" data-color-d=\"rgb(70, 70, 70)\" data-css=\"tve-u-17a7b8491cf\" style=\"\">\n\t<hr class=\"tve_sep tve_sep-1\" style=\"\">\n<\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\" data-css=\"tve-u-17a7b8491cc\"><p data-css=\"tve-u-17a7b8491d0\" style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr\u00e4ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p><\/div><div class=\"thrv_wrapper thrv_lead_generation\" data-connection=\"custom-html\" data-css=\"tve-u-17a7b8491d1\" style=\"\" data-settings-id=\"7705\" data-form-settings=\"__TCB_FORM__{&quot;v&quot;:1,&quot;apis&quot;:{},&quot;extra&quot;:{},&quot;captcha&quot;:0,&quot;custom_tags&quot;:{}}__TCB_FORM__\"><input type=\"hidden\" class=\"tve-lg-err-msg\" value=\"{&quot;email&quot;:&quot;Email address invalid&quot;,&quot;phone&quot;:&quot;Phone number invalid&quot;,&quot;password&quot;:&quot;Password invalid&quot;,&quot;passwordmismatch&quot;:&quot;Password mismatch error&quot;,&quot;required&quot;:&quot;Required field missing&quot;}\">\n\t<div class=\"thrv_lead_generation_container tve_clearfix\"><form method=\"post\" action=\"#\" id=\"ktv2-form-200765\" novalidate=\"novalidate\"><input type=\"hidden\" class=\"tve-f-a-hidden\" value=\"https:\/\/www.klick-tipp.com\/api\/subscriber\/signin.html\"><input id=\"apikey\" type=\"hidden\" name=\"apikey\" value=\"4nv5z2tonz8za09b\"><div class=\"tve_lead_generated_inputs_container\"><div class=\"tve_lg_input_container tve_lg_input\"><input name=\"fields[fieldFirstName]\" id=\"\" type=\"text\" placeholder=\"Name\" value=\"\" data-css=\"tve-u-1709bd3f99e\" data-placeholder=\"Name\"><\/div><div class=\"tve_lg_input_container tve_lg_input\"><input name=\"email\" id=\"\" type=\"text\" placeholder=\"E-Mail\" value=\"\" data-required=\"1\" data-validation=\"email\" data-css=\"tve-u-1709bd3f99e\" data-placeholder=\"E-Mail\"><\/div><div class=\"tve_lg_input_container tve_submit_container tve_lg_submit\" data-css=\"tve-u-17a7b8491d2\"><button type=\"submit\" class=\"\">KLICKE HIER F\u00dcR ABO!<\/button><\/div><\/div><\/form><\/div>\n<div class=\"thrv_lead_generation_code\" style=\"display: none;\">__CONFIG_lead_generation_code__&lt;div id=\"form-200765-wrapper\"&gt;&lt;form id=\"ktv2-form-200765\" accept-charset=\"UTF-8\" method=\"post\" action=\"https:\/\/www.klick-tipp.com\/api\/subscriber\/signin.html\" &gt;&lt;input type=\"hidden\" name=\"apikey\" value=\"4nv5z2tonz8za09b\" \/&gt;&lt;input type=\"text\" name=\"fields[fieldFirstName]\"\/&gt;&lt;input type=\"text\" name=\"email\"\/&gt;&lt;\/form&gt;&lt;\/div&gt;__CONFIG_lead_generation_code__<\/div><\/div><\/div>\n<\/div>","tve_custom_css":"@import url(\"\/\/fonts.googleapis.com\/css?family=Open+Sans:400,600&subset=latin\");@media (min-width: 300px){[data-css=\"tve-u-17a7b200345\"] { background-color: var(--tcb-color-3); }:not(#tve) [data-css=\"tve-u-17a7b25602d\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b25602e\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b25602f\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b256030\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b256030\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b256032\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b256033\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b256034\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b256036\"] { padding-bottom: 0px !important; }[data-css=\"tve-u-17a7b256037\"] { margin-bottom: -20px !important; }:not(#tve) [data-css=\"tve-u-17a7b256038\"] { line-height: 2em !important; padding-top: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b320430\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b320431\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b320433\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b320434\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b320434\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b320435\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b320436\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }[data-css=\"tve-u-17a7b320439\"] { padding-bottom: 0px !important; }[data-css=\"tve-u-17a7b32043a\"] { margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b32043b\"] { line-height: 2em !important; padding-bottom: 0px !important; margin-bottom: 0px !important; padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b348b77\"] { margin-bottom: -20px !important; }:not(#tve) [data-css=\"tve-u-17a7b3cdc42\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b3cdc43\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b3cdc44\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b3cdc46\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b3cdc46\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b3cdc47\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b3cdc48\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b3cdc49\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b3cdc4c\"] { padding-bottom: 20px !important; }[data-css=\"tve-u-17a7b3cdc4d\"] { margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b3cdc4e\"] { line-height: 2em !important; padding-bottom: 0px !important; margin-bottom: 0px !important; padding-top: 0px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b47259d\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b47259e\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b4725a0\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b4725a1\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b4725a1\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b4725a2\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b4725a3\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b4725a5\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b4725a7\"] { padding-bottom: 20px !important; }[data-css=\"tve-u-17a7b4725a8\"] { margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b4725a9\"] { line-height: 2em !important; padding-bottom: 0px !important; margin-bottom: 0px !important; padding-top: 0px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b50bd47\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b50bd48\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b50bd49\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b50bd4a\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b50bd4a\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b50bd4b\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b50bd4c\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b50bd4d\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b50bd4f\"] { padding-bottom: 20px !important; }[data-css=\"tve-u-17a7b50bd50\"] { margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b537a22\"] { padding-bottom: 30px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b544000\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b5b9d93\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b5b9d94\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b5b9d95\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b5b9d96\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b5b9d96\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b5b9d97\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b5b9d98\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }[data-css=\"tve-u-17a7b5b9d9b\"] { padding-bottom: 20px !important; }[data-css=\"tve-u-17a7b5b9d9d\"] { margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b5b9d9e\"] { line-height: 2em !important; padding-bottom: 0px !important; margin-bottom: 0px !important; padding-top: 0px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b661334\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b661336\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b661337\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b661338\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b661338\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b66133a\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b66133b\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b66133c\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b66133f\"] { padding-bottom: 0px !important; }[data-css=\"tve-u-17a7b661340\"] { margin-bottom: -20px !important; }:not(#tve) [data-css=\"tve-u-17a7b661341\"] { line-height: 2em !important; padding-top: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b77aecb\"] { padding-top: 0px !important; margin-top: 0px !important; }[data-css=\"tve-u-17a7b77aecc\"] { overflow: hidden; background-color: transparent !important; background-image: none !important; border-radius: 0px !important; }[data-css=\"tve-u-17a7b77aecd\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b77aece\"] .tve_sep { border-width: 2px !important; border-color: rgb(66, 66, 66) !important; }[data-css=\"tve-u-17a7b77aece\"] { padding-top: 0px !important; padding-bottom: 10px !important; }[data-css=\"tve-u-17a7b77aecf\"] { background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; margin-bottom: 0px !important; padding: 5px 10px !important; }:not(#tve) [data-css=\"tve-u-17a7b77aed0\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; font-family: \"Courier New\", Courier, monospace !important; font-weight: var(--g-regular-weight, normal)  !important; }:not(#tve) [data-css=\"tve-u-17a7b77aed1\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b77aed2\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b77aed3\"] { padding-bottom: 0px !important; }[data-css=\"tve-u-17a7b77aed5\"] { margin-bottom: -20px !important; }:not(#tve) [data-css=\"tve-u-17a7b77aed6\"] { line-height: 2em !important; padding-top: 0px !important; margin-top: 0px !important; padding-bottom: 30px !important; margin-bottom: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b7a41b2\"] { padding-bottom: 0px !important; margin-bottom: 0px !important; }[data-css=\"tve-u-17a7b7b5fbf\"] { margin-top: -20px !important; }:not(#tve) [data-css=\"tve-u-17a7b84810f\"] { border: 1px solid rgb(220, 227, 233); }:not(#tve) [data-css=\"tve-u-17a7b848110\"] > .tve_table > thead > tr > th { background-color: var(--tcb-color-3); }:not(#tve) [data-css=\"tve-u-17a7b848110\"] > .tve_table > tbody > tr:nth-child(2n) > td { background-color: rgb(246, 246, 246); }:not(#tve) [data-css=\"tve-u-17a7b848110\"] > .tve_table > tbody > tr:nth-child(2n+1) > td { background-color: rgb(255, 255, 255); }:not(#tve) [data-css=\"tve-u-17a7b848111\"] p, :not(#tve) [data-css=\"tve-u-17a7b848111\"] li, :not(#tve) [data-css=\"tve-u-17a7b848111\"] blockquote, :not(#tve) [data-css=\"tve-u-17a7b848111\"] address, :not(#tve) [data-css=\"tve-u-17a7b848111\"] .tcb-plain-text, :not(#tve) [data-css=\"tve-u-17a7b848111\"] label, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h1, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h2, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h3, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h4, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h5, :not(#tve) [data-css=\"tve-u-17a7b848111\"] h6 { color: rgb(255, 255, 255); }:not(#tve) [data-css=\"tve-u-17a7b848117\"] p, :not(#tve) [data-css=\"tve-u-17a7b848117\"] li, :not(#tve) [data-css=\"tve-u-17a7b848117\"] blockquote, :not(#tve) [data-css=\"tve-u-17a7b848117\"] address, :not(#tve) [data-css=\"tve-u-17a7b848117\"] .tcb-plain-text, :not(#tve) [data-css=\"tve-u-17a7b848117\"] label, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h1, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h2, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h3, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h4, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h5, :not(#tve) [data-css=\"tve-u-17a7b848117\"] h6 { color: rgb(84, 85, 88); }[data-css=\"tve-u-17a7b848110\"] .tve_table td, [data-css=\"tve-u-17a7b848110\"] .tve_table th { padding: 0px; text-align: center; vertical-align: middle; }:not(#tve) [data-css=\"tve-u-17a7b84811d\"] { font-size: 16px !important; font-family: \"Open Sans\" !important; font-weight: 400 !important; }[data-css=\"tve-u-17a7b84811d\"] strong { font-weight: 600 !important; }:not(#tve) [data-css=\"tve-u-17a7b84810f\"] > tbody > tr > td { border: 0px none rgb(220, 227, 233); }:not(#tve) [data-css=\"tve-u-17a7b84810f\"] > thead > tr > th { border: 1px solid var(--tcb-color-3); }:not(#tve) [data-css=\"tve-u-17a7b84811e\"] { width: 97px; }:not(#tve) [data-css=\"tve-u-17a7b84811f\"] { font-size: 16px !important; }:not(#tve) [data-css=\"tve-u-17a7b8491c9\"] { font-size: 25px !important; font-weight: var(--g-bold-weight, bold)  !important; padding-bottom: 0px !important; margin-bottom: 0px !important; padding-top: 0px !important; margin-top: 0px !important; color: rgb(70, 70, 70) !important; --tcb-applied-color:var$(--tcb-color-1)  !important; }[data-css=\"tve-u-17a7b8491ca\"] { padding: 10px !important; }[data-css=\"tve-u-17a7b8491cc\"] { margin-left: 0px !important; margin-right: 0px !important; padding-right: 30px !important; padding-left: 30px !important; }[data-css=\"tve-u-17a7b8491cd\"] { margin-right: 0px !important; margin-left: 0px !important; }[data-css=\"tve-u-17a7b8491ce\"] { border-radius: 30px; overflow: hidden; background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-17a7b8491cf\"] .tve_sep { border-width: 3px !important; border-color: rgb(70, 70, 70) !important; }[data-css=\"tve-u-17a7b8491cf\"] { padding-top: 0px !important; }:not(#tve) [data-css=\"tve-u-17a7b8491d0\"] { color: rgb(70, 70, 70) !important; --tcb-applied-color:var$(--tcb-color-1)  !important; padding-bottom: 0px !important; margin-bottom: 0px !important; font-size: 18px !important; }[data-css=\"tve-u-17a7b8491d1\"] { float: none; border: none; max-width: 500px !important; margin-left: auto !important; margin-right: auto !important; }:not(#tve) [data-css=\"tve-u-17a7b8491d2\"] button { border-bottom: 4px solid rgb(33, 72, 112); border-radius: 4px; border-top: none; border-right: none; border-left: none; font-weight: var(--tve-font-weight, var(--g-bold-weight, bold)); font-family: var(--tve-font-family, \"Open Sans\"); font-size: var(--tve-font-size, 18px); text-transform: var(--tve-text-transform, uppercase); background-image: none !important; background-color: rgb(51, 103, 153) !important; }:not(#tve) [data-css=\"tve-u-17a7b8491d2\"]:hover button { background-image: none !important; background-color: rgb(41, 84, 127) !important; border-color: rgb(229, 227, 227) rgb(229, 227, 227) rgb(24, 54, 86) !important; }[data-css=\"tve-u-17a7b8491d2\"] { --tve-font-weight:var(--g-bold-weight, bold); --tve-font-family:\"Open Sans\"; --g-regular-weight:400; --g-bold-weight:600; --tve-font-size:18px; --tve-text-transform:uppercase; }[data-css=\"tve-u-17a7b8905e9\"] { width: 100%; }[data-css=\"tve-u-17a7b89342a\"] { width: 100%; }[data-css=\"tve-u-17a7b8a71e9\"] { width: 100%; }[data-css=\"tve-u-17a7b8aeb3c\"] { width: 100%; }[data-css=\"tve-u-17a7b8b012a\"] { width: 100%; }}@media (max-width: 767px){.tcb-mobile-table [data-css=\"tve-u-17a7b848123\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b848124\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b848125\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b848126\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b848127\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b848128\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b848129\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b84812a\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b8753e0\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b8753e3\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b8753e5\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b8753e8\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 400; font-family: \"Open Sans\"; }.tcb-mobile-table [data-css=\"tve-u-17a7b875402\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b875404\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b875408\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }.tcb-mobile-table [data-css=\"tve-u-17a7b87540a\"]::before { background-color: rgb(51, 103, 153); border-right: 1px solid rgb(51, 103, 153); padding: 0px; text-align: center; font-size: 16px; line-height: 32px; color: rgb(255, 255, 255); font-weight: 700; font-family: \"Open Sans\", sans-serif; }}","tve_user_custom_css":"","tve_globals":{"e":"1","font_cls":[]},"tcb2_ready":1,"tcb_editor_enabled":1,"tve_landing_page":"","_tve_header":"0","_tve_footer":"0"},"categories":[8],"tags":[],"class_list":["post-7620","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/7620","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=7620"}],"version-history":[{"count":147,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/7620\/revisions"}],"predecessor-version":[{"id":8010,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/7620\/revisions\/8010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/7884"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=7620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=7620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=7620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}