grep کے ساتھ کسی لفظ کو کیسے خارج کیا جائے۔
فہرست کا خانہ:
گریپ کمانڈ لائن ٹول لکیروں اور اسنیپٹس کے لیے ٹیکسٹ ڈیٹا کے ذریعے تلاش کرنے کے لیے بے حد مفید ہے جو ایک متعین سٹرنگ، کریکٹر، لفظ، یا ریگولر ایکسپریشن سے مماثل ہیں۔ اگرچہ گریپ کے زیادہ تر استعمال نحوی میچوں کے لیے ڈیٹا کو چھانٹنے کے لیے ہیں، اگر آپ اس کے بجائے کسی لفظ یا سٹرنگ کو گریپ کے ساتھ خارج کرنا چاہتے ہیں تو کیا ہوگا؟ grep کے ساتھ لائن میچز کو چھوڑنا اتنا ہی مفید ہے جتنا grep میں میچز تلاش کرنا اور پرنٹ کرنا، تو آئیے اس بات کا احاطہ کرتے ہیں کہ سٹرنگ میچز کو کیسے خارج کیا جائے اور grep کے ساتھ الفاظ کو خارج کیا جائے۔
ظاہر ہے کہ آپ اسے مفید تلاش کرنے کے لیے کمانڈ لائن کا کچھ تجربہ اور گریپ کی نمائش کرنا چاہیں گے۔ اگر آپ اس کی پیروی کرنا چاہتے ہیں، تو آپ ٹرمینل ایپلیکیشن کھول سکتے ہیں اور اسے خود آزما سکتے ہیں۔ چونکہ grep ایک OS agnostic یوٹیلیٹی ہے، اس لیے آپ exclude trick کو Mac OS، Linux، Unix، یا آپ کے پاس جو کچھ بھی ہے اس میں grep استعمال کر سکتے ہیں۔
گریپ کے ساتھ ایک لفظ کو کیسے خارج کریں
سٹرنگ یا سنٹیکس میچ کے ساتھ لائنوں کو خارج کرنے کا سب سے آسان طریقہ grep اور -v پرچم کا استعمال کرنا ہے۔
مثال کے طور پر، ہم کہتے ہیں کہ ہم کمانڈ لائن پر فائل پرنٹ کرنے کے لیے cat کا استعمال کر رہے ہیں، لیکن ہم ان تمام لائنوں کو خارج کرنا چاہتے ہیں جن میں "This Word" کی اصطلاح شامل ہے، تو نحو مندرجہ ذیل نظر آئے گا:
cat example.txt | grep -v یہ لفظ"
آؤٹ پٹ example.txt ٹیکسٹ فائل ہوگی لیکن کسی بھی لائن کو چھوڑ کر جس میں "This Word" کے ساتھ سٹرنگ میچ ہو۔
آپ گریپ کو براہ راست فائلوں پر بھی استعمال کر سکتے ہیں اور الفاظ یا نحو کی بنیاد پر لائن میچز کو خارج کر سکتے ہیں، جیسے:
"grep -v This Word>"
آپ کے مخصوص ورک فلو کے لیے جو بھی بہترین ہو اسے استعمال کریں۔
گریپ کے ساتھ ایک سے زیادہ سٹرنگز یا الفاظ کو کیسے خارج کریں
اب جب کہ آپ جانتے ہیں کہ ایک لفظ کے لیے مماثلت کو کیسے خارج کرنا ہے، اگلا واضح سوال grep کے ساتھ متعدد الفاظ کو خارج کرنے کے بارے میں ہے۔ یہ اتنا ہی آسان ہے، اور -v پرچم کے ساتھ ساتھ -e پرچم کا استعمال کرتے ہوئے اسے پورا کرنے کے کچھ مختلف طریقے ہیں۔
پہلے اوپر دیے گئے مثال کے طور پر ایک فائل پر بلی کے استعمال کی پائپ کی گئی grep، اور دو الفاظ سے مماثل لائنوں کو خارج کر دیں۔ "Word1" اور "Word2"، یہ مندرجہ ذیل کی طرح نظر آئے گا:
"cat example.txt | grep -v -e Word1 -e Word2"
کوئی بھی سطر جس میں "Word1" یا "Word2" شامل ہو، پرنٹ شدہ نتائج سے خارج کر دیے جائیں گے۔
آپ پہلے کی طرح گریپ کو براہ راست فائلوں پر بھی استعمال کر سکتے ہیں:
"grep -v -e Word1 -e Word2 example.txt"
ایک اور طریقہ یہ ہے کہ ہر میچ کو الگ کرنے کے لیے پائپ کا استعمال کرکے grep کے ساتھ کیا خارج کرنا ہے، جیسے:
grep -Ev word1|word2 example.txt"
اگر آپ ان میں سے کسی ایک آپشن کو ٹیکسٹ فائل کی مثال پر آزماتے ہیں، تو آپ کو معلوم ہوگا کہ آؤٹ پٹ یکساں ہے قطع نظر اس کے کہ آپ جو بھی طریقہ اختیار کرتے ہیں، ہر ایک لائن کو چھوڑ کر جن میں ہدف بنائے گئے جملے، نحو، الفاظ، یا متن میچ۔
زبردست، مجھے grep کے ساتھ ڈیٹا کو چھوڑنے کی ایک مفید مثال دکھائیں!
ایک عملی مثال کے لیے جو جدید میک صارفین کے لیے مددگار ثابت ہو سکتی ہے، ہم کمانڈ لائن ہسٹری کی پرنٹنگ اور استفسار کرتے وقت ڈیفالٹس مماثلتوں کو تلاش کرنے کے لیے پہلے سے نافذ کردہ کمانڈز کو تلاش کرنے کے لیے گریپ اخراج کا استعمال کر سکتے ہیں، لیکن کچھ منتخب ڈیفالٹ سٹرنگز کو چھوڑ کر آؤٹ پٹ۔
یہاں مثال میں ہم پہلے سے طے شدہ سٹرنگ میچز کے لیے کمانڈ ہسٹری پرنٹ کریں گے، لیکن آئی ٹیونز کے ساتھ ملنے والی کسی بھی چیز کو خارج کردیں گے جیسا کہ "com.apple.itunes" کے ذریعے بیان کیا گیا ہے:
"history |grep ڈیفالٹس لکھتے ہیں |grep -v -e com.apple.itunes"
لہذا اگر آپ پیروی کر رہے ہیں، تو یہ "ڈیفالٹس رائٹ" کمانڈ کے تمام تاریخی عمل کی اطلاع دے گا، لیکن آئی ٹیونز ایپلیکیشن سے متعلق کسی بھی چیز کو چھوڑ کر۔ اچھا ہے نا؟
اگر آپ کے پاس گریپ کے ساتھ میچوں کو چھوڑ کر کوئی خاص طور پر کارآمد استعمال ہے تو نیچے تبصروں میں ہمارے ساتھ ان کا اشتراک کریں! اور اگر آپ کو یہ مضمون پسند آیا ہے، تو آپ یقیناً ہمارے بہت سے کمانڈ لائن آرٹیکلز کو یہاں دیکھنا پسند کریں گے جہاں سیکھنے کے لیے اور بھی بہت کچھ ہے!