Praktické príklady príkazu xargs pre Linux
Hľadáte rôzne spôsoby, ako zjednodušiť pracovný tok v systéme Linux a chcete automatizovať svoje úlohy? Príkaz xargs pre Linux môže byť presne to, čo ste nevedeli. V tomto článku uvidíme niekoľko praktických príkladov použitia xargs na vykonávanie príkazov na zozname položiek generovaných inými príkazmi.
Ako niekto, kto pravidelne používa Linux, sme zistili, že príkaz xargs je cenným nástrojom v našom pracovnom postupe. Pomáha nám ľahko vykonávať zložité úlohy s veľkým počtom súborov alebo údajov. Príkaz xargs je užitočný najmä pri práci s dlhými zoznamami položiek alebo údajov, pretože zjednodušuje proces vykonávania príkazu pre každú položku samostatne.
Pomocou xargs môžeme vykonávať príkazy ako kopírovať, mazať, komprimovať, premenovať a počítať veľké množstvo súborov alebo údajov. V nasledujúcom článku si prejdeme niekoľko praktických príkladov, ako používať xargs. Na konci tohto budete dobre rozumieť tomu, ako používať xargs, a budete môcť posunúť svoje znalosti Linuxu na ďalšiu úroveň.
Takže, ak ste pripravení zvýšiť rýchlosť vášho Linuxu, poďme sa ponoriť do praktických príkladov príkazu Linux xargs.
1. Skopírujte zoznam súborov do nového adresára
Predpokladajme, že máte v adresári zoznam súborov, ktoré potrebujete skopírovať do nového adresára, na rýchle a jednoduché vykonanie tejto úlohy možno použiť príkaz xargs s príkazom cp. Namiesto manuálneho kopírovania každého súboru po jednom vám táto metóda umožňuje vykonať operáciu kopírovania na všetkých súboroch naraz.
Tu je príklad kopírovania súborov do nového adresára −
ls *.txt | xargs -I '{}' cp '{}' /path/to/new_directory/
Príkaz vygeneruje výstup podobný tomuto −
file1.txt
file2.txt
Ak chcete skopírovať všetky súbory ".txt" v aktuálnom adresári do nového adresára, začneme pomocou príkazu "ls" na výpis všetkých súborov ".txt". Výsledný výstup sa odovzdá príkazu xargs. Použitím voľby -I môžeme nahradiť zástupný symbol '{}' skutočným názvom súboru. Potom sa príkaz "cp" použije na skopírovanie každého súboru do nového adresára. Stručne povedané, tento príkaz využíva schopnosť xargs spracovať výstup jedného príkazu ako vstup do iného príkazu, čo uľahčuje kopírovanie viacerých súborov na nové miesto naraz.
2. Odstrániť všetky súbory so špecifickou príponou
Ak chcete odstrániť všetky súbory so špecifickou príponou v adresári, môžete použiť príkaz xargs s príkazom rm.
Tu je príklad vymazania súborov so špecifickými príponami −
ls *.log | xargs rm
Výstup bude vyzerať podobne ako tento −
file1.log
file2.log
File3.log
Predpokladajme, že chcete odstrániť všetky súbory v aktuálnom adresári s príponou „.log“. Môžete to urobiť pomocou vyššie uvedeného príkazu. Tento príkaz začína vypísaním všetkých súborov s príponou „.log“ v aktuálnom adresári a potom odovzdá každý z týchto názvov súborov príkazu „rm“ pomocou príkazu xargs. Príkaz "rm" vymaže tieto súbory jeden po druhom, takže vám zostane čistejší a prehľadnejší adresár.
3. Komprimujte všetky súbory v adresári
Ak chcete komprimovať všetky súbory v adresári, môžete použiť príkaz xargs s príkazom tar.
Tu je príklad na komprimáciu všetkých súborov v adresári −
ls | xargs tar -czvf archive.tar.gz
Výstup terminálu bude vyzerať podobne ako tento −
user@ubuntu:~/directory$ ls | xargs tar -czvf archive.tar.gz
file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
archive.tar.gz
user@ubuntu:~/directory$
Tento príkaz v podstate vezme všetky súbory prítomné v aktuálnom adresári a odošle ich príkazu xargs. Xargs potom odovzdá každý názov súboru príkazu tar, ktorý skomprimuje všetky súbory do súboru tar. Inými slovami, tento príkaz sa používa na vytvorenie archívu všetkých súborov v aktuálnom adresári.
4. Previesť viacero súborov na veľké písmená
Ak chcete v adresári previesť viacero súborov na veľké písmená, môžete použiť príkaz xargs s príkazom mv.
Tu je príklad prevodu viacerých súborov na veľké −
ls | xargs -I '{}' sh -c 'mv "{}" $(echo "{}" | tr "[:lower:]" "[:upper:]")'
Výstup terminálu bude vyzerať podobne ako tento −
file1.txt
file2.txt
file3.txt
mv file1.txt FILE1.TXT
mv file2.txt FILE2.TXT
mv file3.txt FILE3.TXT
Nasledujúci príkaz sa pozrie na všetky súbory v aktuálnom adresári a odošle zoznam príkazu xargs. Voľba -I nám umožňuje použiť skutočné názvy súborov namiesto zástupného symbolu '{}'. Príkaz potom použije príkaz sh na vykonanie príkazu shell, ktorý skonvertuje názvy súborov na veľké písmená a premenuje súbory.
5. Spočítajte počet riadkov vo viacerých súboroch
Ak chcete spočítať počet riadkov vo viacerých súboroch v adresári, môžete použiť príkaz xargs s príkazom wc.
Nižšie je uvedený príklad výpočtu počtu riadkov vo viacerých súboroch −
ls | xargs wc -l
Výstup bude vyzerať takto −
12 file1.txt
24 file2.txt
6 file3.txt
Príkaz "ls | xargs wc -l" zobrazí počet riadkov v každom súbore v aktuálnom adresári. To sa vykonáva pomocou príkazu 'ls' na zoznam všetkých súborov v aktuálnom adresári a potom odoslaním výstupu do 'xargs'. Príkaz 'xargs' potom vezme každý názov súboru a odovzdá ho príkazu 'wc', ktorý spočíta počet riadkov v každom súbore.
6. Vytvorenie zoznamu všetkých používateľských účtov systému Linux, ktoré sú prítomné v systéme
Ak chcete zoznam všetkých používateľských účtov, ktoré sú priradené k systému Linux, môžete sa obrátiť na nasledujúci príkaz.
cut -d: -f1 < /etc/passwd | sort | xargs
-
cut -d: -f1 < /etc/passwd − Týmto sa extrahuje prvé pole zo súboru /etc/passwd, ktorý obsahuje zoznam používateľov v systéme oddelených dvojbodkou (:). Voľba -d určuje oddeľovač, ktorý sa má použiť, a možnosť -f určuje, ktoré pole sa má extrahovať. V tomto prípade extrahujeme prvé pole (t. j. používateľské meno).
triediť − Toto zoradí zoznam používateľských mien v abecednom poradí.
xargs − Preberie sa zoznam zoradených používateľských mien a odovzdá ich ako argumenty ďalšiemu príkazu.
Keď spustíte tento príkaz, získate tento druh očakávaného výstupu −
$ cut -d: -f1 < /etc/passwd | sort | xargs echo
bin daemon ftp games gnats irc list lp mail man messagebus news nobody proxy root systemd-network sync sys syslog systemd-bus-proxy systemd-journal-gateway systemd-journal-remote systemd-timesync uucp www-data
Záver
Na záver, príkaz xargs je všestranný a užitočný nástroj, ktorý možno použiť na automatizáciu zložitých úloh na veľkých súboroch údajov alebo súborov. V tomto článku sme poskytli niekoľko praktických príkladov, ako používať príkaz xargs na vykonávanie rôznych operácií, ako je premenovanie, kompresia a počítanie počtu riadkov vo viacerých súboroch v adresári. Príkaz xargs šetrí čas a zjednodušuje opakujúce sa úlohy zefektívnením procesu spúšťania príkazov na viacerých súboroch. Ako používateľ systému Linux je ovládanie príkazu xargs základnou zručnosťou, ktorá môže výrazne zvýšiť produktivitu a efektivitu pracovného toku.