यह कमांड xargs है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
xargs - मानक इनपुट से कमांड लाइन बनाएं और निष्पादित करें
SYNOPSIS
xargs [-0पीआरटीएक्स] [-E ईओएफ-str] [-e[ईओएफ-str]] [--ईओएफ[=ईओएफ-str]] [--शून्य] [-d सीमांकक]
[--सीमांकक सीमांकक] [-I प्रतिस्थापित-str] [-i[प्रतिस्थापित-str]] [--बदलने के[=प्रतिस्थापित-str]]
[-l[अधिकतम लाइनें]] [-L अधिकतम लाइनें] [--मैक्स-लाइन्स[=अधिकतम लाइनें]] [-n मैक्स-आर्ग्स] [--अधिकतम-तर्क=अधिकतम-
आर्ग] [-s अधिकतम वर्ण] [--अधिकतम-वर्ण=अधिकतम वर्ण] [-P मैक्स-प्रोक्स] [--max-procs=मैक्स-प्रोक्स]
[--प्रक्रिया-स्लॉट-var=नाम] [--इंटरैक्टिव] [--शब्दशः] [--बाहर जाएं] [--नहीं-रन-यदि-खाली]
[--arg फ़ाइल=पट्टिका] [--दिखाएँ-सीमाएँ] [--संस्करण] [--मदद] [आदेश [प्रारंभिक-तर्क]]
वर्णन
यह मैनुअल पेज जीएनयू संस्करण का दस्तावेजीकरण करता है xargs. xargs मानक से आइटम पढ़ता है
इनपुट, रिक्त स्थान द्वारा सीमांकित (जिसे दोहरे या एकल उद्धरण या ए के साथ संरक्षित किया जा सकता है)।
बैकस्लैश) या न्यूलाइन्स, और निष्पादित करता है आदेश (डिफ़ॉल्ट है /बिन/गूंज) एक या अधिक बार
कोई भी प्रारंभिक-तर्क मानक इनपुट से पढ़े गए आइटम के बाद। पर रिक्त पंक्तियाँ
मानक इनपुट को नजरअंदाज कर दिया जाता है।
के लिए कमांड लाइन आदेश इसे तब तक बनाया जाता है जब तक यह सिस्टम-परिभाषित सीमा तक नहीं पहुंच जाता (जब तक कि
la -n और -L विकल्पों का उपयोग किया जाता है)। विष्तृत आदेश जितनी बार लागू किया जाएगा
इनपुट आइटमों की सूची का उपयोग करना आवश्यक है। सामान्य तौर पर, बहुत कम होंगे
का आह्वान आदेश इनपुट में आइटम क्या थे। यह सामान्य रूप से होगा
महत्वपूर्ण प्रदर्शन लाभ. कुछ आदेशों को उपयोगी रूप से समानांतर में भी निष्पादित किया जा सकता है;
देख -P विकल्प.
चूँकि यूनिक्स फ़ाइल नाम में रिक्त स्थान और नई पंक्तियाँ हो सकती हैं, इसलिए यह डिफ़ॉल्ट व्यवहार अक्सर होता है
समस्याग्रस्त; रिक्त स्थान और/या नई पंक्तियों वाले फ़ाइल नामों को गलत तरीके से संसाधित किया गया है
xargs. इन स्थितियों में इसका उपयोग करना बेहतर है -0 विकल्प, जो ऐसा रोकता है
समस्या। इस विकल्प का उपयोग करते समय आपको यह सुनिश्चित करना होगा कि जो प्रोग्राम उत्पादन करता है
के लिए इनपुट xargs विभाजक के रूप में एक शून्य वर्ण का भी उपयोग करता है। यदि वह प्रोग्राम GNU है
खोज उदाहरण के लिए, -प्रिंट0 विकल्प आपके लिए यह करता है.
यदि कमांड का कोई भी आह्वान 255 की स्थिति के साथ बाहर निकलता है, xargs तुरंत रुक जाएगा
बिना कोई और इनपुट पढ़े। ऐसा होने पर stderr पर एक त्रुटि संदेश जारी किया जाता है
हो जाता।
विकल्प
- 0, --शून्य
इनपुट आइटम को व्हाइटस्पेस के बजाय एक शून्य वर्ण द्वारा समाप्त किया जाता है, और
उद्धरण और बैकस्लैश विशेष नहीं हैं (प्रत्येक वर्ण को शाब्दिक रूप से लिया गया है)।
फ़ाइल स्ट्रिंग के अंत को अक्षम कर देता है, जिसे किसी भी अन्य तर्क की तरह माना जाता है। उपयोगी
जब इनपुट आइटम में सफेद स्थान, उद्धरण चिह्न या बैकस्लैश हो सकते हैं। जीएनयू
ढूंढें -प्रिंट0 विकल्प इस मोड के लिए उपयुक्त इनपुट उत्पन्न करता है।
-a पट्टिका, --arg-फ़ाइल=पट्टिका
से आइटम पढ़ें पट्टिका मानक इनपुट के बजाय. यदि आप इस विकल्प का उपयोग करते हैं, stdin
आदेश चलाने पर अपरिवर्तित रहता है। अन्यथा, stdin को पुनर्निर्देशित किया जाता है
/ Dev / बातिल.
--सीमांकक=परिसीमक, -d परिसीमक
इनपुट आइटम निर्दिष्ट वर्ण द्वारा समाप्त किए जाते हैं। निर्दिष्ट सीमांकक हो सकता है
एक एकल चरित्र बनें, एक सी-शैली चरित्र से बचें जैसे \n, या एक अष्टक या
हेक्साडेसिमल एस्केप कोड. ऑक्टल और हेक्साडेसिमल एस्केप कोड के रूप में समझा जाता है
la printf आज्ञा। मल्टीबाइट वर्ण समर्थित नहीं हैं. प्रसंस्करण करते समय
इनपुट, उद्धरण और बैकस्लैश विशेष नहीं हैं; इनपुट में प्रत्येक वर्ण लिया गया है
अक्षरशः। -d विकल्प फ़ाइल के किसी भी अंत स्ट्रिंग को अक्षम कर देता है, जिसे इस प्रकार माना जाता है
कोई अन्य तर्क. आप इस विकल्प का उपयोग तब कर सकते हैं जब इनपुट में सरलता शामिल हो
न्यूलाइन-पृथक आइटम, हालांकि अपने प्रोग्राम को डिज़ाइन करना लगभग हमेशा बेहतर होता है
उपयोग करने के लिए --शून्य यह कहां संभव है.
-E ईओएफ-str
फ़ाइल स्ट्रिंग के अंत को इस पर सेट करें ईओएफ-str. यदि फ़ाइल स्ट्रिंग का अंत एक पंक्ति के रूप में होता है
इनपुट के शेष इनपुट को नजरअंदाज कर दिया जाता है। यदि न तो -E न -e प्रयोग किया जाता है, कोई अंत नहीं
फ़ाइल स्ट्रिंग का उपयोग किया जाता है.
-e[ईओएफ-str], --ईओएफ[=eof-str]
यह विकल्प का पर्यायवाची है -E विकल्प। प्रयोग करें -E इसके बजाय, क्योंकि यह POSIX है
अनुपालन जबकि यह विकल्प नहीं है। अगर ईओएफ-str छोड़ दिया गया है, फ़ाइल का कोई अंत नहीं है
डोरी। यदि न तो -E न -e का उपयोग किया जाता है, फ़ाइल स्ट्रिंग का कोई अंत उपयोग नहीं किया जाता है।
-I प्रतिस्थापित-str
की घटनाओं को बदलें प्रतिस्थापित-str प्रारंभिक-तर्कों में नामों के साथ पढ़ा गया
मानक इनपुट. साथ ही, बिना उद्धृत रिक्त स्थान इनपुट आइटम को समाप्त नहीं करते हैं; इसके बजाय
सेपरेटर न्यूलाइन कैरेक्टर है। तात्पर्य -x और -L 1.
-i[प्रतिस्थापित-str], --बदलने के[=प्रतिस्थापन-str]
यह विकल्प का पर्यायवाची है -Iप्रतिस्थापित-str if प्रतिस्थापित-str निर्दिष्ट किया जाता है। यदि
प्रतिस्थापित-str तर्क गायब है, प्रभाव वैसा ही है -I{}. यह विकल्प है
बहिष्कृत; उपयोग -I बजाय.
-L अधिकतम लाइनें
अधिक से अधिक प्रयोग करें अधिकतम लाइनें प्रति कमांड लाइन गैर-रिक्त इनपुट लाइनें। अनुगामी रिक्त स्थान का कारण बनता है
एक इनपुट लाइन को तार्किक रूप से अगली इनपुट लाइन पर जारी रखा जाना चाहिए। तात्पर्य -x.
-l[अधिकतम लाइनें], --मैक्स-लाइन्स[=अधिकतम लाइनें]
का पर्यायवाची -L विकल्प। भिन्न -L, अधिकतम लाइनें तर्क वैकल्पिक है. अगर अधिकतम-
पंक्तियां निर्दिष्ट नहीं है, यह डिफ़ॉल्ट रूप से एक है। -l विकल्प तब से अस्वीकृत कर दिया गया है
POSIX मानक निर्दिष्ट करता है -L बजाय.
-n मैक्स-आर्ग्स, --अधिकतम-तर्क=मैक्स-आर्ग्स
अधिक से अधिक प्रयोग करें मैक्स-आर्ग्स प्रति कमांड लाइन तर्क। से कम मैक्स-आर्ग्स तर्क
यदि आकार (देखें) का उपयोग किया जाएगा -s विकल्प) पार हो गया है, जब तक कि -x विकल्प है
दिया गया, किस मामले में xargs मर्जी बाहर जाएं।
-P मैक्स-प्रोक्स, --max-procs=मैक्स-प्रोक्स
तक चल मैक्स-प्रोक्स एक समय में प्रक्रियाएँ; डिफ़ॉल्ट 1 है. यदि मैक्स-प्रोक्स 0 है,
xargs एक समय में यथासंभव अधिक से अधिक प्रक्रियाएँ चलाएँगा। उपयोग -n विकल्प या
-L के साथ विकल्प -P; अन्यथा संभावना यह है कि केवल एक ही निष्पादन किया जाएगा। जबकि
xargs चल रहा है, तो आप संख्या बढ़ाने के लिए इसकी प्रक्रिया को SIGUSR1 सिग्नल भेज सकते हैं
एक साथ चलाने के लिए आदेशों की संख्या, या संख्या कम करने के लिए एक SIGUSR2। तुम नहीं कर सकते
इसे कार्यान्वयन-परिभाषित सीमा से ऊपर बढ़ाएं (जिसे --show- के साथ दिखाया गया है)
सीमाएँ)। आप इसे 1 से कम नहीं कर सकते. xargs अपने आदेशों को कभी समाप्त नहीं करता;
जब इसे कम करने के लिए कहा जाता है, तो यह केवल एक से अधिक मौजूदा कमांड की प्रतीक्षा करता है
दूसरा शुरू करने से पहले समाप्त करें।
कृपया नोट कि समानांतर को ठीक से प्रबंधित करना तथाकथित प्रक्रियाओं पर निर्भर है
साझा संसाधनों तक पहुंच. उदाहरण के लिए, यदि उनमें से एक से अधिक प्रिंट करने का प्रयास करते हैं
स्टडआउट करने के लिए, आउटपुट एक अनिश्चित क्रम में उत्पादित किया जाएगा (और बहुत संभावना है
मिश्रित) जब तक कि प्रक्रियाएं इसे रोकने के लिए किसी तरह से सहयोग न करें। कुछ का उपयोग करना
ऐसी समस्याओं को रोकने के लिए एक प्रकार की लॉकिंग योजना एक तरीका है। सामान्य तौर पर, ए का उपयोग करना
लॉकिंग योजना सही आउटपुट सुनिश्चित करने में मदद करेगी लेकिन प्रदर्शन को कम करेगी। अगर आप
प्रदर्शन अंतर को बर्दाश्त नहीं करना चाहते, बस प्रत्येक प्रक्रिया के लिए व्यवस्था करें
एक अलग आउटपुट फ़ाइल तैयार करने के लिए (या अन्यथा अलग संसाधनों का उपयोग करें)।
-पी, --इंटरैक्टिव
उपयोगकर्ता को बताएं कि क्या प्रत्येक कमांड लाइन को चलाना है और उससे एक लाइन को पढ़ना है
टर्मिनल। यदि प्रतिक्रिया `y' या `Y' से शुरू होती है तो केवल कमांड लाइन चलाएँ।
तात्पर्य -t.
--प्रक्रिया-स्लॉट-var=नाम
पर्यावरण चर सेट करें नाम प्रत्येक चल रही चाइल्ड प्रक्रिया में एक अद्वितीय मान के लिए।
चाइल्ड प्रोसेस से बाहर निकलने के बाद मानों का पुन: उपयोग किया जाता है। इसका उपयोग प्राथमिक तौर पर किया जा सकता है
उदाहरण के लिए, लोड वितरण योजना।
-आर, --नहीं-रन-यदि-खाली
यदि मानक इनपुट में कोई गैर-रिक्त स्थान नहीं है, तो कमांड न चलाएँ।
आम तौर पर, कोई इनपुट न होने पर भी कमांड एक बार चलाया जाता है। यह विकल्प एक GNU है
विस्तार।
-s अधिकतम वर्ण, --अधिकतम-वर्ण=अधिकतम-वर्ण
अधिक से अधिक प्रयोग करें अधिकतम वर्ण प्रति कमांड लाइन वर्ण, जिसमें कमांड और शामिल हैं
प्रारंभिक-तर्क और तर्क स्ट्रिंग के सिरों पर समाप्ति नल।
सबसे बड़ा अनुमत मान सिस्टम-निर्भर है, और इसकी गणना तर्क के रूप में की जाती है
निष्पादन के लिए लंबाई सीमा, आपके परिवेश के आकार से कम, 2048 बाइट्स से कम
हेडरूम यदि यह मान 128KiB से अधिक है, तो 128Kib का उपयोग डिफ़ॉल्ट मान के रूप में किया जाता है;
अन्यथा, डिफ़ॉल्ट मान अधिकतम है. 1KiB 1024 बाइट्स है। xargs
स्वचालित रूप से कड़ी बाधाओं के अनुरूप ढल जाता है।
--दिखाएँ-सीमाएँ
कमांड-लाइन लंबाई पर उन सीमाओं को प्रदर्शित करें जो ऑपरेटिंग द्वारा लगाई गई हैं
प्रणाली, xargs' बफ़र आकार का चयन और -s विकल्प। से इनपुट पाइप करें
/ Dev / बातिल (और शायद निर्दिष्ट करें --नहीं-रन-यदि-खाली) यदि आप नहीं चाहते xargs करना
कुछ भी।
-टी, --शब्दशः
इसे निष्पादित करने से पहले मानक त्रुटि आउटपुट पर कमांड लाइन प्रिंट करें।
-एक्स, --बाहर जाएं
यदि आकार (देखें) से बाहर निकलें -s विकल्प) पार हो गया है।
--मदद विकल्पों का सारांश प्रिंट करें xargs और बाहर निकलें
--संस्करण
का संस्करण संख्या प्रिंट करें xargs और बाहर निकलें
उदाहरण
खोज / Tmp -रतालू मूल प्रकार f प्रिंट | xargs /बिन/आरएम -f
नामित फ़ाइलें ढूंढें मूल निर्देशिका में या उसके नीचे / Tmp और उन्हें हटा दें. ध्यान दें कि यह होगा
यदि किसी फ़ाइल नाम में न्यूलाइन या रिक्त स्थान हैं तो गलत तरीके से काम करें।
खोज / Tmp -रतालू मूल प्रकार f -प्रिंट0 | xargs -0 /बिन/आरएम -f
नामित फ़ाइलें ढूंढें मूल निर्देशिका में या उसके नीचे / Tmp और फ़ाइल नाम संसाधित करते हुए उन्हें हटा दें
इस तरह से कि रिक्त स्थान या न्यूलाइन वाले फ़ाइल या निर्देशिका नाम सही ढंग से हों
संभाला।
खोज / Tmp -गहराई -रतालू मूल प्रकार f -डेली
नामित फ़ाइलें ढूंढें मूल निर्देशिका में या उसके नीचे / Tmp और उन्हें हटाएं, लेकिन अधिक कुशलता से
पिछले उदाहरण की तुलना में (क्योंकि हम उपयोग करने की आवश्यकता से बचते हैं कांटा(2) और कार्यकारी(एक्सएनएनएक्स) से
लांच rm और हमें अतिरिक्त की आवश्यकता नहीं है xargs प्रक्रिया)।
कमी -d: -1 < / Etc / पासवर्ड | तरह | xargs गूंज
सिस्टम पर सभी उपयोगकर्ताओं की एक संक्षिप्त सूची तैयार करता है।
xargs sh -c 'emacs "$@" < /dev/tty' Emacs
संपादित करने के लिए एक के बाद एक आवश्यक Emacs की प्रतियों की न्यूनतम संख्या लॉन्च करता है
फ़ाइलें सूचीबद्ध हैं xargs' मानक इनपुट. यह उदाहरण बीएसडी के समान ही प्रभाव प्राप्त करता है -o
विकल्प, लेकिन अधिक लचीले और पोर्टेबल तरीके से।
बाहर निकलें स्थिति
xargs निम्न स्थिति के साथ बाहर निकलता है:
0 यदि यह सफल होता है
123 यदि कमांड का कोई भी आह्वान स्थिति 1-125 के साथ बाहर निकलता है
124 यदि आदेश स्थिति 255 के साथ बाहर निकलता है
125 यदि कमांड सिग्नल द्वारा खत्म हो जाता है
126 यदि कमांड नहीं चलाया जा सकता है
127 यदि कमांड नहीं मिला
1 यदि कोई अन्य त्रुटि हुई।
128 से अधिक के निकास कोड का उपयोग शेल द्वारा यह इंगित करने के लिए किया जाता है कि किसी प्रोग्राम की मृत्यु किसके कारण हुई
घातक संकेत.
मानक अनुरूपता
GNU xargs संस्करण 4.2.9 के अनुसार, का डिफ़ॉल्ट व्यवहार xargs तार्किक होना नहीं है
फ़ाइल का अंत मार्कर. POSIX (IEEE कक्षा 1003.1, 2004 संस्करण) इसकी अनुमति देता है।
-l और -i विकल्प POSIX मानक के 1997 संस्करण में दिखाई देते हैं, लेकिन दिखाई नहीं देते हैं
मानक के 2004 संस्करण में। इसलिए आपको इसके बजाय -L और -I का उपयोग करना चाहिए,
क्रमशः.
POSIX मानक कार्यान्वयन को तर्कों के आकार पर एक सीमा रखने की अनुमति देता है
कार्यकारी कार्य. यह सीमा आकार सहित कम से कम 4096 बाइट्स हो सकती है
पर्यावरण। स्क्रिप्ट को पोर्टेबल बनाने के लिए, उन्हें बड़े मूल्य पर निर्भर नहीं रहना चाहिए। हालाँकि,
मैं ऐसे किसी कार्यान्वयन के बारे में नहीं जानता जिसकी वास्तविक सीमा इतनी छोटी हो। --दिखाएँ-सीमाएँ विकल्प
वर्तमान प्रणाली पर लागू वास्तविक सीमाओं का पता लगाने के लिए इसका उपयोग किया जा सकता है।
onworks.net सेवाओं का उपयोग करके xargs का ऑनलाइन उपयोग करें