12 praktilist näidet algajatele mõeldud Linuxi Xargsi käsust


Xargs on suurepärane käsk, mis loeb andmevooge standardsisest sisendist, seejärel genereerib ja täidab käsuridu; see tähendab, et ta võib võtta käsu väljundi ja edastada selle teise käsu argumendina. Kui ühtegi käsku pole määratud, täidab xargs vaikimisi kaja. Paljud te käskite seda ka faili andmeid stdini asemel lugeda.

Xargs on käsurea igapäevasel kasutamisel kasulik mitmel viisil. Selles artiklis selgitame 12 praktilist Linuxi xargsi käsunäidet algajatele.

1. Esimene näide näitab, kuidas kõik .png pildid välja selgitada ja tar-utiliidi abil arhiivida järgmiselt.

Siin võimaldab toimingukäsu -print0 printida kogu faili tee standardväljundile, millele järgneb nullmärk ja lipp -0 xargs tegeleb failinimede tühimikuga.

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

2. Võite ka käsu ls mutrirea väljundi teisendada ühe reaga, kasutades xargsi järgmiselt.

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

3. Süsteemi kõigi Linuxi kasutajakontode kompaktse loendi loomiseks kasutage järgmist käsku.

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

4. Eeldades, et teil on failide loend ja soovite teada ridade/sõnade/märkide arvu igas loendis olevas failis, võite selleks kasutada ls käsku ja xargsi järgmiselt.

$ ls *upload* | xargs wc

5. Xarags võimaldab teil ka kataloogi leida ja rekursiivselt eemaldada, näiteks järgmine käsk eemaldab DomTerm rekursiivselt kataloogist Allalaadimised.

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

6. Sarnaselt eelmisele käsule saate ka praegusest kataloogist leida kõik failid nimega net_stats ja need kustutada.

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

7. Järgmisena kasutage faili xargs faili kopeerimiseks korraga mitmesse kataloogi; selles näites proovime faili kopeerida.

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

8. Ümbernimetamiskäskude abil saate ka kõiki konkreetse kataloogi faile või alamkatalooge ümber nimetada väiketähtedeks järgmiselt.

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

9. Siin on veel üks kasulik näide xargsi kasutamisest, see näitab, kuidas kustutada kataloogis kõik failid, välja arvatud üks või paar antud laiendiga faili.

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

10. Nagu varem mainitud, saate xargsil anda tavalise sisendi asemel failist üksusi lugemiseks lipu -a , nagu näidatud.

$ xargs -a rss_links.txt

11. Täpsuse saate lubada lipu -t abil, mis käsib xargsil printida käsurida standardvea väljundisse enne selle käivitamist.

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

12. Vaikimisi lõpetab/eraldab xargs üksused tühjade tühikute abil, lipu -d abil saate määrata eraldaja, mis võib olla üksikmärk, C-stiilis tähemärk, näiteks \n või kaheksand- või kuueteistkümnendkohaga põgenemiskood.

Lisaks saate kasutajalt küsida, kas käivitada iga käsurida ja lugeda rida terminalist, kasutades lipu -p , nagu näidatud (tippige lihtsalt y jah või n ei).

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

Lisateabe saamiseks lugege xargsi manulehte.

$ man xargs 

Praegu on see kõik! Xargs on võimas utiliit käsurea loomiseks; see võib aidata teil ühe käsu väljundit edastada töötlemiseks teise käsu argumendina. Selles artiklis oleme selgitanud algajatele mõeldud 12 praktilist xargsi käskude näidet. Jagage oma mõtteid või küsimusi meiega allpool oleva tagasiside vormi kaudu.