Med Linux xargs kon­ver­te­rar du stan­dar­din­mat­ning­ar till kommandon och använder dem direkt. xargs används inte så ofta i Linux, men det kan förenkla processer avsevärt.

Vad är Linux-kommandot xargs?

xargs (”extended argument”) är ett av de Linux-kommandon som användare sällan eller aldrig använder. Kommandot kan dock förenkla arbetet avsevärt och till och med förbättra datorns prestanda. Enkelt uttryckt kopplar Linux xargs samman två kommandon, ut­vär­de­rar re­sul­ta­tet av det ena och tillämpar re­sul­ta­ten på det andra. Detta är an­vänd­bart när man bearbetar ett stort antal filer och utför vissa uppgifter om och om igen.

xargs ingår i de flesta Linux-dis­tri­bu­tio­ner, såsom Debian eller Ubuntu, och behöver inte in­stal­le­ras.

Hur fungerar xargs?

xargs läser data från stdin (dvs. stan­dar­din­mat­ning) och kon­ver­te­rar den till kom­man­do­ra­der. Mot­sva­ran­de kommando måste anges som parameter eller argument till kommandot. De re­spek­ti­ve kom­man­do­na exekveras sedan en eller flera gånger. Om du inte anger något särskilt kommando som parameter använder xargs au­to­ma­tiskt Linux-kommandot echo.

Vad är syntaxen för Linux xargs?

För att använda kommandot xargs i ter­mi­na­len använder du följande syntax:

$ First_command | xargs [Options] [Second_command]
bash

Detta gör att det andra kommandot exekveras med ar­gu­men­ten från det första.

Vilka al­ter­na­tiv finns till­gäng­li­ga för kommandot xargs?

Det finns många olika sätt att använda Linux xargs. Här är de vik­ti­gas­te:

  • -0 eller –null: Detta al­ter­na­tiv gör att varje tecken tas bok­stav­ligt och argument separeras på grund av NULL-tecknet.
  • -a eller –arg-file: Med detta al­ter­na­tiv läses ar­gu­men­ten inte från stan­dar­din­mat­ning­en utan från en fil.
  • -d eller –delimiter: Se­pa­ra­tio­ner görs med detta al­ter­na­tiv baserat på se­pa­ra­tor­teck­net och inte mel­lanslags­teck­net. Varje tecken behandlas bok­stav­ligt.
  • -p eller –in­te­racti­ve: Med detta al­ter­na­tiv frågas om man vill fortsätta innan varje kommando exekveras.

Exempel på an­vänd­ning av Linux xargs

Funk­tio­na­li­te­ten hos kommandot xargs il­lu­stre­ras bäst med några exempel.

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

I det här exemplet använder du xargs med Linux-kommandot find och Linux-kommandot rm. Re­sul­ta­tet blir att alla filer med fi­län­del­sen .txt tas bort från datorns filsystem.

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

Hitta alla filer som in­ne­hål­ler ordet “faktura”. För detta kan du också använda Linux-kommandot grep.

Gå till huvudmeny