Linuxin xargs-ko­men­nol­la voit muuntaa stan­dar­di­tu­lon ko­men­toik­si ja käyttää niitä suoraan. xargs-komentoa ei käytetä Linuxissa kovin usein, mutta se voi helpottaa pro­ses­se­ja huo­mat­ta­vas­ti.

Mikä on Linuxin xargs-komento?

xargs (”extended argument”) on yksi niistä Linux-ko­men­nois­ta, joita käyttäjät käyttävät harvoin tai eivät lainkaan. Komento voi kuitenkin helpottaa työtä huo­mat­ta­vas­ti ja jopa parantaa tie­to­ko­neen suo­ri­tus­ky­kyä. Yk­sin­ker­tai­ses­ti sanottuna Linuxin xargs-komento yhdistää kaksi komentoa: se kä­sit­te­lee en­sim­mäi­sen komennon tulosteen ja soveltaa tuloksia toiseen komentoon. Tästä on hyötyä, kun kä­si­tel­lään suurta määrää tie­dos­to­ja tai suo­ri­te­taan tiettyjä tehtäviä tois­tu­vas­ti.

xargs sisältyy useimpiin Linux-ja­ke­lui­hin, kuten Debianiin tai Ubuntuun, eikä sitä tarvitse asentaa.

Miten xargs toimii?

xargs lukee tietoja stdin:stä (eli va­kio­tu­los­ta) ja muuntaa ne ko­men­to­ri­veik­si. Vastaava komento on annettava ko­men­nol­le pa­ra­met­ri­na tai ar­gu­ment­ti­na. Kyseiset komennot suo­ri­te­taan sitten kerran tai useita kertoja. Jos et anna erityistä komentoa pa­ra­met­rik­si, xargs käyttää au­to­maat­ti­ses­ti Linuxin echo-komentoa.

Mikä on Linuxin xargs-komennon syntaksi?

Jos haluat käyttää xargs-komentoa ter­mi­naa­lis­sa, käytä seuraavaa syntaksia:

$ First_command | xargs [Options] [Second_command]
bash

Tämä johtaa siihen, että toinen komento suo­ri­te­taan en­sim­mäi­sen komennon ar­gu­ment­te­ja käyttäen.

Mitkä vaih­toeh­dot ovat käy­tet­tä­vis­sä xargs-ko­men­nol­le?

Linuxin xargs-komennon käyt­tö­ta­po­ja on lukuisia. Tär­keim­mät niistä ovat seuraavat:

  • -0 tai –null: Tämä vaih­toeh­to aiheuttaa sen, että jokainen merkki tulkitaan kir­jai­mel­li­ses­ti ja ar­gu­men­tit erotetaan toi­sis­taan NULL-merkin avulla.
  • -a tai –arg-file: Tällä vaih­toeh­dol­la ar­gu­ment­te­ja ei lueta stan­dar­di­tu­los­ta, vaan tie­dos­tos­ta.
  • -d tai –delimiter: Tällä vaih­toeh­dol­la erotukset tehdään erottimen merkin pe­rus­teel­la, ei vä­li­lyön­nin. Jokainen merkki kä­si­tel­lään kir­jai­mel­li­ses­ti.
  • -p tai –in­te­rac­ti­ve: Tämä vaih­toeh­to kysyy, jat­ke­taan­ko ennen kunkin komennon suo­rit­ta­mis­ta.

Esi­merk­ke­jä Linuxin xargs-komennon käytöstä

xargs-komennon toiminta selviää parhaiten esi­merk­kien avulla.

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

Tässä esi­mer­kis­sä käytetään xargs-komentoa yhdessä Linuxin find- ja rm-ko­men­to­jen kanssa. Tuloksena kaikki tiedostot, joiden tie­dos­to­tun­nis­te on .txt, pois­te­taan tie­to­ko­neen tie­dos­to­jär­jes­tel­mäs­tä.

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

Etsi kaikki tiedostot, joissa esiintyy sana ”invoice”. Tähän voit käyttää myös Linuxin grep-komentoa.

Siirry pää­va­lik­koon