शुरुआती के लिए लिनक्स Xargs कमांड के 12 व्यावहारिक उदाहरण


Xargs एक शानदार कमांड है जो मानक इनपुट से डेटा की धाराओं को पढ़ता है, फिर कमांड लाइनों को उत्पन्न और निष्पादित करता है; मतलब यह एक कमांड का आउटपुट ले सकता है और इसे दूसरे कमांड के तर्क के रूप में पास करता है। यदि कोई कमांड निर्दिष्ट नहीं है, तो xargs डिफ़ॉल्ट रूप से इको निष्पादित करता है। आप कई लोग इसे स्टडिन के बजाय फ़ाइल से डेटा पढ़ने के लिए भी निर्देश देते हैं।

कमांड लाइन के दैनिक उपयोग में कई तरीके हैं xargs उपयोगी है। इस लेख में, हम शुरुआती के लिए 12 व्यावहारिक लिनक्स xargs कमांड उदाहरणों की व्याख्या करेंगे।

1। पहला उदाहरण दिखाता है कि सभी .png छवियों का पता कैसे लगाएं और निम्नानुसार टार उपयोगिता का उपयोग करके उन्हें संग्रहित करें।

यहां, एक्शन कमांड <कोड> -प्रिंट0 मानक आउटपुट पर पूर्ण फ़ाइल पथ की छपाई में सक्षम बनाता है, इसके बाद एक अशक्त चरित्र और <कोड> -0 xargs ध्वज प्रभावी रूप से फ़ाइल नाम में स्थान के साथ संबंधित है।

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

2। आप इस प्रकार से xargs का उपयोग करके ls कमांड से म्यूटि-लाइन आउटपुट को भी परिवर्तित कर सकते हैं।

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

3। सिस्टम पर सभी लिनक्स उपयोगकर्ता खातों की एक कॉम्पैक्ट सूची बनाने के लिए, निम्न कमांड का उपयोग करें।

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

4। मान लें कि आपके पास फ़ाइलों की एक सूची है, और आप सूची में प्रत्येक फ़ाइल में लाइनें/शब्द/वर्ण की संख्या जानना चाहते हैं, तो आप ls कमांड का उपयोग कर सकते हैं और इस प्रकार के लिए xargs इस प्रकार है।

$ ls *upload* | xargs wc

5। Xarags आपको निर्देशिका खोजने और पुन: प्राप्त करने की भी अनुमति देता है, उदाहरण के लिए निम्न आदेश पुनरावर्ती रूप से DOMTerm निर्देशिका में डाउनलोड निकाल देगा।

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

6। पिछली कमांड के समान, आप वर्तमान निर्देशिका में net_stats नाम की सभी फाइलें भी पा सकते हैं और उन्हें हटा सकते हैं।

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

7। अगला, एक बार में कई निर्देशिकाओं में फ़ाइल कॉपी करने के लिए xargs का उपयोग करें; इस उदाहरण में हम फ़ाइल को कॉपी करने का प्रयास कर रहे हैं।

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

8। आप खोज कमांड का भी उपयोग कर सकते हैं, xargs और एक साथ एक विशेष निर्देशिका में सभी फाइलों या उपनिर्देशिकाओं का नाम बदलने के लिए कमांड का नाम निम्नानुसार है।

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

9। xargs के लिए यहां एक और उपयोगी उपयोग उदाहरण है, यह दिखाता है कि किसी दिए गए एक्सटेंशन के साथ एक या कुछ फ़ाइलों को छोड़कर एक निर्देशिका के भीतर सभी फ़ाइलों को कैसे हटाया जाए।

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

10। जैसा कि पहले बताया गया है, आप xargs को निर्देश के अनुसार -a ध्वज का उपयोग करके मानक इनपुट के बजाय किसी फ़ाइल से आइटम पढ़ने के लिए निर्देश दे सकते हैं।

$ xargs -a rss_links.txt

11। आप -t ध्वज का उपयोग करके क्रियाशीलता को सक्षम कर सकते हैं, जो xargs बताता है कि इसे निष्पादित करने से पहले मानक त्रुटि आउटपुट पर कमांड लाइन प्रिंट करें।

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

12। डिफ़ॉल्ट रूप से, xargs रिक्त स्थान का उपयोग करके आइटमों को समाप्त/सीमांकित करता है, आप परिसीमा निर्धारित करने के लिए -d ध्वज का उपयोग कर सकते हैं जो एक हो सकता है एकल वर्ण, C- शैली का चरित्र भाग जैसे कि \ n , या एक अष्टक या षोडश आधारी कूट।

इसके अलावा, आप उपयोगकर्ता को इस बारे में भी संकेत दे सकते हैं कि क्या प्रत्येक कमांड लाइन को चलाना है और टर्मिनल से एक लाइन पढ़ना है, जैसा कि दिखाया गया है -p ध्वज का उपयोग करके (बस y टाइप करें) हां या <कोड> n के लिए नहीं )।

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

अधिक जानकारी के लिए, xargs मैन पेज पढ़ें।

$ man xargs 

अभी के लिए बस इतना ही! Xargs कमांड लाइन बनाने के लिए एक शक्तिशाली उपयोगिता है; यह आपको प्रोसेसिंग के लिए दूसरे कमांड के तर्क के रूप में एक कमांड का आउटपुट पास करने में मदद कर सकता है। इस लेख में, हमने शुरुआती लोगों के लिए 12 व्यावहारिक xargs कमांड उदाहरणों की व्याख्या की है। नीचे दिए गए फीडबैक फॉर्म के माध्यम से आप हमारे साथ विचार या प्रश्न साझा करें।