12 käytännön esimerkkiä Linux Xargs -komennosta aloittelijoille


Xargs on loistava komento, joka lukee tietovirtoja vakiosyötteestä ja luo ja suorittaa sitten komentorivit. tarkoittaa, että se voi ottaa komennon ulostulon ja välittää sen toisen komennon argumenttina. Jos komentoa ei ole määritetty, xargs suorittaa echon oletuksena. Monet myös neuvovat sitä lukemaan tietoja tiedostosta stdinin sijaan.

On olemassa useita tapoja, joilla xargs on hyödyllinen komentorivin päivittäisessä käytössä. Tässä artikkelissa selitämme 12 käytännön Linux xargs -komennon esimerkkiä aloittelijoille.

1. Ensimmäinen esimerkki näyttää, kuinka voit selvittää kaikki .png-kuvat ja arkistoida ne käyttämällä tar-apuohjelmaa seuraavasti.

Tässä toimintokomento -print0 mahdollistaa koko tiedostopolun tulostamisen vakiotulosteeseen, jota seuraa tyhjä merkki ja -0 xargs-lippu käsittelee tehokkaasti tiedostonimien tilaa.

find Pictures/tecmint/ -name "*.png" -type f -print0 | xargs -0 tar -cvzf images.tar.gz

2. Voit myös muuntaa ls-komennon muti-line tulosteen yhdeksi riviksi käyttämällä xargs-komentoa seuraavasti.

ls -1 Pictures/tecmint/
ls -1 Pictures/tecmint/ | xargs

3. Luo kompakti luettelo kaikista järjestelmän Linux-käyttäjätileistä käyttämällä seuraavaa komentoa.

cut -d: -f1 < /etc/passwd | sort | xargs

4. Olettaen, että sinulla on tiedostoluettelo ja haluat tietää kunkin luettelon tiedoston rivien/sanojen/merkkien määrän, voit käyttää ls-komentoa ja xargs tähän tarkoitukseen seuraavasti.

ls *upload* | xargs wc

5. Xaragsin avulla voit myös etsiä ja poistaa hakemiston rekursiivisesti. Esimerkiksi seuraava komento poistaa rekursiivisesti DomTerm-hakemiston Lataukset-hakemistosta.

find Downloads -name "DomTerm" -type d -print0 | xargs -0 /bin/rm -v -rf "{}"

6. Edellisen komennon tapaan voit myös etsiä kaikki tiedostot, joiden nimi on net_stats nykyisestä hakemistosta ja poistaa ne.

find . -name "net_stats" -type f -print0 | xargs -0 /bin/rm -v -rf "{}"

7. Käytä seuraavaksi xargs -ohjelmaa kopioidaksesi tiedoston useisiin hakemistoihin kerralla. tässä esimerkissä yritämme kopioida tiedoston.

echo ./Templates/ ./Documents/ | xargs -n 1 cp -v ./Downloads/SIC_Template.xlsx 

8. Voit myös käyttää hakukomentoa xargs ja uudelleennimeämiskomentoja yhdessä nimetäksesi kaikki tietyn hakemiston tiedostot tai alihakemistot pienillä kirjaimilla seuraavasti.

find Documnets -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

9. Tässä on toinen hyödyllinen esimerkki xargs -sovelluksen käytöstä. Se näyttää, kuinka hakemiston kaikki tiedostot poistetaan, paitsi yksi tai muutama tietyllä tunnisteella varustettu tiedosto.

find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}

10. Kuten aiemmin mainittiin, voit käskeä xargs lukemaan kohteita tiedostosta tavallisen syötteen sijaan käyttämällä -a-lippua kuvan mukaisesti.

xargs -a rss_links.txt

11. Voit ottaa sananmukaisuuden käyttöön käyttämällä -t-lippua, joka käskee xargs-komentoa tulostamaan komentorivin vakiovirhetulosteeseen ennen sen suorittamista.

find Downloads -name "DomTerm" -type d -print0 | xargs -0 -t /bin/rm -rf "{}"

12. Oletuksena xargs päättää/rajaa kohteet välilyönnillä. Voit käyttää -d-lippua asettaaksesi erottimen, joka voi olla yksi merkki, C-tyylinen merkinvaihtomerkki, kuten \n, tai oktaali- tai heksadesimaalikoodi.

Lisäksi voit myös pyytää käyttäjää suorittamaan jokaisen komentorivin ja lukemaan rivin päätteestä käyttämällä -p-lippua kuvan mukaisesti (kirjoita vain y kyllä tai n ei).

echo ./Templates/ ./Documents/ | xargs -p -n 1 cp -v ./Downloads/SIC_Template.xlsx 

Saat lisätietoja lukemalla xargs -man-sivun.

man xargs 

Siinä se toistaiseksi! Xargs on tehokas apuohjelma komentorivin luomiseen; se voi auttaa sinua välittämään yhden komennon tulosteen toisen komennon argumenttina käsittelyä varten. Tässä artikkelissa olemme selittäneet 12 käytännöllistä xargs-komennon esimerkkiä aloittelijoille. Jaa ajatuksesi tai kysymyksesi kanssamme alla olevan palautelomakkeen kautta.