باش میں پاتھ اور ایکسٹینشن کے بغیر فائل کا بیس نام کیسے نکالا جائے۔

Bash My Pat Awr Ayks Ynshn K Bghyr Fayl Ka Bys Nam Kys Nkala Jay



بیس نیم کمانڈ کو عام طور پر باش میں استعمال کیا جاتا ہے کسی فائل یا ڈائرکٹری کے بنیادی نام کو کسی بھی اہم ڈائریکٹری اجزاء کو ہٹا کر کسی دیئے گئے راستے سے حاصل کرنے کے لیے۔ یہ مضمون دریافت کرے گا کہ کس طرح کسی فائل کا بنیادی نام اس کے راستے اور توسیع کے بغیر باش کا استعمال کرتے ہوئے نکالا جائے۔

باش میں پاتھ اور ایکسٹینشن کے بغیر فائل کا بیس نام نکالیں۔

کسی فائل کا بنیادی نام اس کے راستے اور توسیع کے بغیر نکالنے کے لیے، ہم bash کے پیرامیٹر متبادل فیچر کے ساتھ مل کر basename کمانڈ استعمال کر سکتے ہیں۔ بیس نیم کمانڈ پاتھ نام کا آخری جزو لوٹاتا ہے، جو ہمارے معاملے میں اس کی توسیع کے ساتھ فائل کا نام ہوگا۔ تاہم، لاحقہ اختیار کی وضاحت کرکے، ہم فائل کے نام سے ایکسٹینشن کو ہٹا سکتے ہیں، یہاں ایک مثال bash کوڈ ہے:

#!بن/بش
فائل پاتھ = / گھر / عالیان / bash3.sh
s =$ ( بنیادی نام $filepath )
بازگشت ' ${s%.*} '

اوپر بش اسکرپٹ ایک متغیر کی وضاحت کرتا ہے جسے ' فائل پاتھ 'اور اسے فائل کا راستہ تفویض کرتا ہے' /home/aaliyan/bash3.sh ' اس کے بعد اسکرپٹ فائل پاتھ سے فائل کا بنیادی نام نکالنے کے لیے بیس نیم کمانڈ کا استعمال کرتی ہے اور نتیجہ کو 's' نامی متغیر کو تفویض کرتی ہے۔







دوسرے پیرامیٹر کی توسیع فائل کے نام سے کسی بھی حروف کی مختصر ترین مماثلت کو ہٹا کر ایکسٹینشن کو ہٹا دیتی ہے جس کے بعد '%.*' کا استعمال کرتے ہوئے ایک ڈاٹ آتا ہے۔ نتیجے میں سٹرنگ، 'bash3'، پھر echo کمانڈ کا استعمال کرتے ہوئے کنسول پر پرنٹ کیا جاتا ہے:





کسی فائل کا بیس نام اس کے فائل پاتھ اور ایکسٹینشن کے بغیر نکالنے کا دوسرا طریقہ یہ ہے کہ پیرامیٹر ایکسپینشن کا استعمال کریں جو کہ بیس نیم کمانڈ کو استعمال کیے بغیر ہے، ذیل میں bash کوڈ کی مثال ہے جو فائل کے بغیر فائل کا بیس نام حاصل کرنے کے لیے پیرامیٹر ایکسپینشن کا طریقہ استعمال کرتا ہے۔ راستہ اور فائل کی توسیع:





#!بن/بش
فائل پاتھ = / گھر / عالیان / bash3.sh
s = ${filepath##*/}
بازگشت ' ${s%.*} '

یہ ایک باش اسکرپٹ ہے جو 'فائل پاتھ' نامی ایک متغیر کی وضاحت کرتا ہے اور اسے قدر تفویض کرتا ہے۔ /home/aaliyan/bash3.sh ' اس کے بعد اسکرپٹ باش کے پیرامیٹر کی توسیع کی خصوصیت کو دو بار استعمال کرتا ہے تاکہ فائل کا بنیادی نام اس کے راستے اور توسیع کے بغیر نکالا جاسکے۔ خاص طور پر، پہلے پیرامیٹر کی توسیع '##/' کا استعمال کرتے ہوئے فارورڈ سلیش کے بعد حروف کی کسی بھی تعداد کے سب سے طویل ممکنہ میچ کو ہٹا کر فائل کے نام سے راستے کو ہٹاتی ہے۔

نتیجے میں سٹرنگ، ' bash3.sh ' پھر ایک متغیر کو تفویض کیا جاتا ہے جسے 's' کہتے ہیں۔ دوسرے پیرامیٹر کی توسیع فائل کے نام سے کسی بھی حروف کی سب سے کم ممکنہ مماثلت کو ہٹا کر اس کے بعد '%' کا استعمال کرتے ہوئے ڈاٹ کے ساتھ ایکسٹینشن کو ہٹا دیتی ہے۔ نتیجے میں سٹرنگ، 'bash3'، پھر echo کمانڈ کا استعمال کرتے ہوئے کنسول پر پرنٹ کیا جاتا ہے:



نتیجہ

باش اسکرپٹنگ میں کسی فائل کا بیس نام اس کے پاتھ اور ایکسٹینشن کے بغیر نکالنا ایک عام کام ہے۔ bash کے پیرامیٹر متبادل اور پیرامیٹر کی توسیع کی خصوصیات کے ساتھ مل کر basename کمانڈ کا استعمال کرتے ہوئے، ہم آسانی سے اس کام کو حاصل کر سکتے ہیں۔ اسکرپٹ میں فائل کے ناموں کے ساتھ کام کرتے وقت یہ مفید ہو سکتا ہے، مثال کے طور پر، فائلوں کا نام تبدیل کرتے وقت یا ملتے جلتے ناموں والی فائلوں پر آپریشن کرتے وقت۔