Als je de uitvoer van het ene Linux-commando naar het andere probeert te pipen, kun je fouten tegenkomen waar het commando faalt omdat de lijst met argumenten te lang is.

Gelukkig is er een commando op Linux-systemen dat argumenten correct opmaakt voor commando's. Het heet xargs en hier is hoe het te gebruiken.

Waarom xargs gebruiken?

Wat xargs doet, is dat het standaarduitvoer ontvangt en het formatteert zodat een ander commando het kan ontvangen. Hoewel veel Linux-hulpprogramma's standaardinvoer kunnen accepteren, accepteren sommige alleen argumenten als invoer.

Deze kunnen mislukken als u probeert om standaardinvoer naar de opdracht om te leiden. Sommige commando's accepteren nog steeds maar een bepaald aantal argumenten en xargs regelt dit voor je.

Hoe xargs op Linux te gebruiken

Je kunt xargs als volgt aanroepen:

xargs [opdracht]

xargs houdt de lengte bij van argumenten die een opdracht accepteert en formatteert standaardinvoer om een ​​lijst met argumenten uit te voeren die aan de opdracht moet worden geleverd. Wanneer het de limiet van een opdrachtregel bereikt, zal het:

roep het commando op weer met de overige argumenten.

Xargs gebruiken in pijplijnen

Het nut van xargs komt wanneer het in pijplijnen wordt gebruikt. Een gekunsteld voorbeeld zou het doorleiden van cat to echo zijn, wat een commando is dat alleen argumenten accepteert, geen standaardinvoer.

kat | echo

Dit zorgt ervoor dat echo alles wat u typt op één regel afdrukt zodra u op drukt Ctrl + D.

xargs wordt meestal gebruikt met de opdracht find, met het zoekcommando wordt gebruikt om bestanden weer te geven en xargs worden gebruikt om de lijst met bestanden op de een of andere manier te verwerken.

De syntaxis van het zoekcommando is harig genoeg, dus waarom zou je er nog een commando in opnemen? Als u vondsten "-exec", zal het een nieuw proces starten elke keer dat het door een bestand in de map zoekt. Het gebruik van xargs is efficiënter.

Mogelijk wilt u bestanden in een map verwijderen die ouder zijn dan een bepaalde datum, zoals 90 dagen. Om dit te doen, zou u deze pijplijn gebruiken:

vinden. -mtime +90 -afdrukken | xargs rm

xargs helpt Linux-commando's om invoer correct te verwerken

Met xargs kun je er nu voor zorgen dat commando's argumenten aannemen zoals je verwacht. In combinatie met find kunt u snel bestanden op uw computer verwerken.

De mogelijkheid om input en output om te leiden in de shell is een van de blijvende sterke punten van Linux als een uitvloeisel van de Unix-filosofie. Als je meer wilt weten over hoe Linux input/output omleiding werkt, lees dan verder.

Standaard I/O op Linux begrijpen

Verbeter uw Linux-opdrachtregelworkflow door meerdere opdrachten samen te voegen met behulp van standaard I/O.

Lees volgende

DeelTweetenE-mail
Gerelateerde onderwerpen
  • Linux
  • Linux-opdrachten
  • Linux Bash Shell
Over de auteur
David Delony (81 artikelen gepubliceerd)

David is een freelance schrijver gevestigd in de Pacific Northwest, maar oorspronkelijk afkomstig uit de Bay Area. Van kinds af aan is hij een techneut. Davids interesses omvatten lezen, tv-programma's en films van hoge kwaliteit bekijken, retro-gaming en platen verzamelen.

Meer van David Delony

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren