Med xargs i Linux kan du kon­ver­te­re stan­dar­dind­da­ta til kom­man­do­er og bruge dem direkte. xargs bruges ikke så ofte i Linux, men det kan forenkle ar­bejds­gan­ge­ne be­ty­de­ligt.

Hvad er Linux-kom­man­do­en xargs?

xargs (»extended argument«) er en af de Linux-kom­man­do­er, som brugerne sjældent eller aldrig benytter. Kom­man­do­en kan dog i høj grad forenkle arbejdet og måske endda forbedre com­pu­te­rens ydeevne. Kort sagt forbinder Linux xargs to kom­man­do­er, idet den ana­ly­se­rer uddataene fra den ene og anvender re­sul­ta­ter­ne på den anden. Dette er nyttigt, når man skal behandle et stort antal filer og udføre bestemte opgaver igen og igen.

xargs er en del af de fleste Linux-di­stri­bu­tio­ner, såsom Debian eller Ubuntu, og behøver ikke at blive in­stal­le­ret.

Hvordan fungerer xargs?

xargs læser data fra stdin (dvs. stan­dar­dind­gan­gen) og omdanner dem til kom­man­do­linjer. Den til­hø­ren­de kommando skal angives som parameter eller argument til kom­man­do­en. De på­gæl­den­de kom­man­do­er udføres derefter én eller flere gange. Hvis du ikke angiver en specifik kommando som parameter, bruger xargs au­to­ma­tisk Linux-kom­man­do­en echo.

Hvordan ser syntaksen for Linux-kom­man­do­en xargs ud?

Hvis du vil bruge kom­man­do­en xargs i ter­mi­na­len, skal du bruge følgende syntaks:

$ First_command | xargs [Options] [Second_command]
bash

Dette medfører, at den anden kommando udføres med ar­gu­men­ter­ne fra den første.

Hvilke indstil­lin­ger findes der til kom­man­do­en xargs?

Der findes mange måder at bruge Linux-kom­man­do­en xargs på. Her er de vigtigste:

  • -0 eller –null: Denne indstil­ling bevirker, at hvert tegn tolkes bog­sta­ve­ligt, og at ar­gu­men­ter­ne adskilles ved hjælp af NULL-tegnet.
  • -a eller –arg-file: Med denne indstil­ling læses ar­gu­men­ter­ne ikke fra stan­dar­dind­gan­gen, men fra en fil.
  • -d eller –delimiter: Med denne indstil­ling foretages ad­skil­lel­ser baseret på se­pa­ra­tor­teg­net og ikke mel­lem­rum­s­teg­net. Hvert tegn behandles bog­sta­ve­ligt.
  • -p eller –in­te­r­a­cti­ve: Denne indstil­ling spørger, om der skal fort­sæt­tes, før hver kommando udføres.

Eksempler på brug af Linux xargs

Kom­man­do­en xargs’ funk­tio­na­li­tet il­lu­stre­res bedst ved hjælp af nogle eksempler.

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

I dette eksempel bruger du xargs sammen med Linux-kom­man­do­en find og Linux-kom­man­do­en rm. Re­sul­ta­tet er, at alle filer med fil­ty­pe­nav­net .txt slettes fra com­pu­te­rens filsystem.

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

Find alle filer, der in­de­hol­der ordet »faktura«. Til dette kan du også bruge Linux-kom­man­do­en grep.

Gå til ho­ved­me­nu­en