Met Linux xargs zet je stan­daard­in­voer om in commando’s en kun je deze direct gebruiken. xargs wordt niet zo vaak gebruikt in Linux, maar het kan processen aan­zien­lijk ver­een­vou­di­gen.

Wat is het Linux-commando xargs?

xargs (‘extended argument’) is een van de Linux-commando’s die ge­brui­kers zelden of nooit gebruiken. Het commando kan het werk echter aan­zien­lijk ver­een­vou­di­gen en zelfs helpen bij het ver­be­te­ren van uw com­pu­ter­pres­ta­ties. Simpel gezegd verbindt Linux xargs twee commando’s, waarbij de uitvoer van het ene commando wordt ge­ë­va­lu­eerd en de re­sul­ta­ten worden toegepast op het tweede commando. Dit is handig bij het verwerken van een groot aantal bestanden en het her­haal­de­lijk uitvoeren van bepaalde taken.

xargs maakt deel uit van de meeste Linux-dis­tri­bu­ties, zoals Debian of Ubuntu, en hoeft niet te worden ge­ïn­stal­leerd.

Hoe werkt xargs?

xargs leest gegevens van stdin (d.w.z. standaard invoer) en zet deze om in op­dracht­re­gels. De bij­be­ho­ren­de opdracht moet als parameter of argument aan de opdracht worden door­ge­ge­ven. De be­tref­fen­de op­drach­ten worden ver­vol­gens een of meerdere keren uit­ge­voerd. Als u geen speciale opdracht als parameter opgeeft, gebruikt xargs au­to­ma­tisch de Linux-opdracht echo.

Wat is de syntaxis van Linux xargs?

Om het xargs-commando in de terminal te gebruiken, gebruik je de volgende syntaxis:

$ First_command | xargs [Options] [Second_command]
bash

Hierdoor wordt het tweede commando uit­ge­voerd met de ar­gu­men­ten van het eerste commando.

Welke opties zijn be­schik­baar voor het commando xargs?

Er zijn tal van mo­ge­lijk­he­den om Linux xargs te gebruiken. Dit zijn de be­lang­rijk­ste:

  • -0 of –null: Deze optie zorgt ervoor dat elk teken let­ter­lijk wordt genomen en dat ar­gu­men­ten worden ge­schei­den door het NULL-teken.
  • -a of –arg-file: Met deze optie worden ar­gu­men­ten niet uit de stan­daard­in­voer gelezen, maar uit een bestand.
  • -d of –delimiter: Met deze optie worden schei­din­gen gemaakt op basis van het schei­dings­te­ken en niet op basis van het spatie-teken. Elk teken wordt let­ter­lijk behandeld.
  • -p of –in­ter­ac­ti­ve: Deze optie vraagt of u wilt doorgaan voordat elke opdracht wordt uit­ge­voerd.

Voor­beel­den voor het gebruik van Linux xargs

De func­ti­o­na­li­teit van het xargs-commando kan het beste worden ge­ïl­lu­streerd aan de hand van enkele voor­beel­den.

$ find -name "*.txt" | xargs rm
bash

In dit voorbeeld pas je xargs toe met het Linux-commando find en het Linux-commando rm. Het resultaat is dat alle bestanden met de extensie .txt uit het be­stands­sys­teem van de computer worden ver­wij­derd.

$ find -name "*.txt" | xargs grep "invoice"
bash

Zoek alle bestanden die het woord ‘factuur’ bevatten. Hiervoor kunt u ook het Linux-commando grep gebruiken.

Ga naar hoofdmenu