Kuidas kasutada Linuxi käsku xargs
Linuxis saab xargs-i abil teisendada standardväljundit käskudeks ja neid otse kasutada. xargs-i ei kasutata Linuxis küll eriti sageli, kuid see võib protsesse oluliselt lihtsustada.
Mis on Linuxi käsk xargs?
xargs (lühend sõnast „extended argument”) on üks neist Linuxi käskudest, mida kasutajad kasutavad harva või üldse mitte. Siiski võib see käsk tööd oluliselt lihtsustada ja isegi arvuti jõudlust parandada. Lihtsamalt öeldes ühendab Linuxi xargs kaks käsku, analüüsides ühe väljundit ja rakendades tulemusi teisele. See on kasulik, kui tuleb töödelda suurt hulka faile ja teha teatud ülesandeid ikka ja jälle.
xargs kuulub enamiku Linuxi distributsioonide, näiteks Debiani või Ubuntu koosseisu ning seda pole vaja eraldi installida.
Kuidas xargs töötab?
xargs loeb andmeid stdinist (st standard sisendist) ja teisendab need käsureadeks. Vastav käsk tuleb sisestada käsule parameetrina või argumendina. Seejärel täidetakse vastavad käsud üks või mitu korda. Kui parameetrina ei sisestata mingit konkreetset käsku, kasutab xargs automaatselt Linuxi echo-käsku.
Milline on Linuxi xargs-i süntaks?
Kui soovid terminalis käsku xargs kasutada, kasuta järgmist süntaksit:
$ First_command | xargs [Options] [Second_command]bashSelle tulemusel täidetakse teine käsk esimese käsu argumentidega.
Millised valikud on käskl xargs jaoks saadaval?
Linuxi xargs-i kasutamiseks on palju võimalusi. Siin on olulisemad neist:
- -0 või –null: See valik tagab, et iga märki käsitletakse sõna-sõnalt ning argumendid eraldatakse NULL-märgi abil.
- -a või –arg-file: Selle valikuga ei loeta argumente standard sisendist, vaid failist.
- -d või –delimiter: Selle valikuga tehakse eraldused eraldusmärgi, mitte tühiku põhjal. Iga märki käsitletakse sõna-sõnalt.
- -p või –interactive: See valik küsib enne iga käsu täitmist, kas soovite jätkata.
Näited Linuxi xargs-i kasutamise kohta
Käsu xargs toimimist on kõige parem illustreerida mõne näite abil.
$ find -name "*.txt" | xargs rmbashSelles näites kasutatakse xargs-i koos Linuxi find- ja rm-käskudega. Selle tulemusena eemaldatakse arvuti failisüsteemist kõik failid, mille laiendiks on .txt.
$ find -name "*.txt" | xargs grep "invoice"bashLeia kõik failid, mis sisaldavad sõna „arve”. Selleks võid kasutada ka Linuxi grep-käsku.