Med Linux xargs konverterar du standardinmatningar 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, utvärderar resultatet av det ena och tillämpar resultaten på det andra. Detta är användbart när man bearbetar ett stort antal filer och utför vissa uppgifter om och om igen.

xargs ingår i de flesta Linux-distributioner, såsom Debian eller Ubuntu, och behöver inte installeras.

Hur fungerar xargs?

xargs läser data från stdin (dvs. standardinmatning) och konverterar den till kommandorader. Motsvarande kommando måste anges som parameter eller argument till kommandot. De respektive kommandona exekveras sedan en eller flera gånger. Om du inte anger något särskilt kommando som parameter använder xargs automatiskt Linux-kommandot echo.

Vad är syntaxen för Linux xargs?

För att använda kommandot xargs i terminalen använder du följande syntax:

$ First_command | xargs [Options] [Second_command]
bash

Detta gör att det andra kommandot exekveras med argumenten från det första.

Vilka alternativ finns tillgängliga för kommandot xargs?

Det finns många olika sätt att använda Linux xargs. Här är de viktigaste:

  • -0 eller –null: Detta alternativ gör att varje tecken tas bokstavligt och argument separeras på grund av NULL-tecknet.
  • -a eller –arg-file: Med detta alternativ läses argumenten inte från standardinmatningen utan från en fil.
  • -d eller –delimiter: Separationer görs med detta alternativ baserat på separatortecknet och inte mellanslagstecknet. Varje tecken behandlas bokstavligt.
  • -p eller –interactive: Med detta alternativ frågas om man vill fortsätta innan varje kommando exekveras.

Exempel på användning av Linux xargs

Funktionaliteten hos kommandot xargs illustreras 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. Resultatet blir att alla filer med filändelsen .txt tas bort från datorns filsystem.

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

Hitta alla filer som innehåller ordet “faktura”. För detta kan du också använda Linux-kommandot grep.

Gå till huvudmeny