مثال طور "xargs" ڪمانڊر جو استعمال

تفصيل ۽ تعارف

مٿين ڪمن جو عموما هڪ ڪنڊ لائن ۾ استعمال ٿيندو آهي جتي هڪ آرڊر جي ٻاھر نڪري ٿو ٻي جاء تي ان پٽ دليلن جي طور تي.

ڪيترين ئي صورتن ۾، انهي کي مڪمل ڪرڻ لاء ڪو خاص حڪم نه ڏيڻ ضروري آهي، ڇاڪاڻ ته "پائپ" ۽ "ريڊريشن" آپريٽرز ساڳئي قسم جي ٽرانزيڪشن کي ڪم ڪن ٿا. بهرحال، ڪڏهن ڪڏهن اهڙا بنيادي پائپنگ ۽ ريڊائريشن ميڪانيزم سان مسئلا آهن، مثال طور، جيڪڏهن دليلن ۾ خالن تي مشتمل هوندي، جيڪا xargs تي ختم ٿئي ٿي.

اضافي طور تي، xargs وقتي طور تي مخصوص حڪم جاري ڪندو، اگر ضرورت هجي، ان کي سڀني دليلن کي عمل ڪرڻ لاء. حقيقت ۾، توهان وضاحت ڪري سگهو ٿا ته هر دل کي معياري انٽي وهڪرو کي خاص طور تي مقرر ڪيل ڪمن کي معياري طريقي سان پڙهي سگهجي ٿو.

عام طور تي، xargs آرڊر استعمال ڪيو وڃي ٿو جيڪڏهن هڪ آرڊر جي اختيارن کي اختياري يا هڪ ٻيو حڪم جي دلائل جي طور تي استعمال ڪيو وڃي جيڪا ڊيٽا جاري ڪئي وئي آهي (پائپ آپريٽر استعمال ڪندي "|"). باقاعده پائپنگ ڪافي آهي جيڪڏهن ڊيٽا ڊيٽا جو مقصد آهي (معياري) ٻئي حڪم جي ان پٽ.

مثال طور، اگر توهان LS کمانڈ فائل فائل نالن ۽ ڈائریکٹریز جي فهرست تيار ڪرڻ لاء استعمال ڪريو، ۽ پوء هن لسٽ تي xargs Command executing echo کي پائپ ڪريو، تو وضاحت ڪري سگھو ٿا ته ڪيتري ڪتاب :

ls | xargs -n 5 گونج

انهي صورت ۾ گونج هڪ وقت ۾ پنج فائل يا ڊاريڪٽري جا نالا وصول ڪري ٿي. آخر ۾ گونج هڪ نئين صفائي ڪردار کي چونڊي کان وٺي هر ليڪ تي پنج نالا لکيا ويا آهن.

جيڪڏهن توهان هڪ حڪم کي انجام ڏئي ٿو ته وڏي ۽ اڻ تصديق ٿيندڙ نمبر شيون (مثال طور فائل فائل جا نالا) جيڪي وڌيڪ پروسيسنگ ڪرڻ لاء هڪ ٻئي ڪنڌ تي گذري ويا آهن، انهن دليلن جو وڌ ۾ وڌ تعداد کي ڪنٽرول ڪرڻ لاء سٺو خيال آهي ته ٻيو حڪم وڌيڪ اوورلوڊ کان بچڻ ۽ ٽڪرائجڻ کان بچڻ جي ڪوشش ڪري ٿو.

ھيٺيون حڪم واري لائين ڳولڻ جي طرفان ڏنل نالا نالا جي نئن کي ڀاڱي ۾ سيپ آرڊر تي منظور ٿيل 200 کان اڳ واري گروهن جو حصو آهي، جيڪو انهن کي بيڪ ڊاريڪٽ ڏانهن نقل ڪندو آهي.

ڳولھو ./ ٽي قسم جو نالو- * .txt "-پرنٽ xargs -l200-c سي پي -f {} ./ بيڪ اپ

"./" عنصر جي ڳولا ۾ عنصر ڳولڻ واري موجوده ڊائريڪٽري بيان ڪري ٿي. "قسم ٽ" مصلحت فائلن کي ڳولها تي محدود ڪري ٿو، ۽ "-نام" * .txt "پرچم وڌيڪ انهي فلٽر کي فلٽر ڪري ٿو جيڪو هڪ" ٽيٽ "جي واڌ لاء ڪونهي. xargs ۾ -i پرچم اهو اشارو ڪندي آهي ته { } ڌيان کي هر فائل جي ٻاڦ جي نمائندگي ڪري ٿو.

هيٺ ڏنل حڪم ڪوريل نالو فائلن ۾ يا هيٺ ڏنل ڊاريڪٽري / tmp کي ختم ڪري ٿو ۽ انهن کي ختم ڪري ٿو.

ڳولڻ / tmp -name بنيادي قسم جو ٽائپ xargs / bin / rm -f

اهو نوٽ ڪريو ته اهو ڪم غلط ٿيندو جيڪڏهن ڪو به نامزد ٿيل نالا موجود آهن جيڪي نونڊن، هڪڙي يا ٻٽا حوالا آهن، يا خالي آهن. هيٺ ڏنل نسخن کي فائيل نامن تي عمل ڪيو ويو آهي جنهن ۾ فائل يا ڊبليوٽرن جا نالا شامل آهن جن ۾ هڪ يا ڊبل ڪٽرن، اسپيل يا نون لائنون صحيح صحيح آهن.

ڳولڻ / tmp -name بنيادي قسم جي قسم f -print0 | xargs -0 / بن / آر ايم-ايف

ايائي آپشن جي بدران توهان -آء ان پرچم جو استعمال ڪري سگهون ٿا جيڪو اسٽرنگ کي بيان ڪري ٿو جيڪو هن مثال جي طور تي حڪم دلائل ۾ ان پٽ لائن کي تبديل ڪري ٿو:

ls dir1 | xargs -I {} -t mv dir1 / {} dir / {} / code>

متبادل وارو جملو "{}" جي طور تي بيان ڪئي وئي آهي. هن جو مطلب، "{}" جي ڪمن جي دلائل ۾ ڪو به واقعا پائپ آپريشن ذريعي آرٽس ڏانهن وڌو ان پٽ عنصر کي تبديل ڪيو ويو آهي. اهو توهان کي ان پٽ عناصر (بار بار) تي عمل ڪرڻ جي دلائل ۾ مخصوص پوزيشن تي رکڻ جي قابل بنائي ٿو.