باش میں فائل کا نام اور ایکسٹینشن نکالیں۔

تعارف

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

  • فائل کے نام یا ایکسٹینشن میں ہیرا پھیری کرنے کے لیے - آپ فائل کا نام یا ایکسٹینشن نکالنا چاہتے ہیں تاکہ اس میں ترمیم کی جاسکے، جیسے فائل کے نام میں سابقہ ​​یا لاحقہ شامل کرنا، یا فائل ایکسٹینشن کو تبدیل کرنا۔

  • ایک منفرد نام کے ساتھ فائل بنانے کے لیے - آپ ایک منفرد نام کے ساتھ ایک نئی فائل بنانے کے لیے فائل کا نام اور ایکسٹینشن نکالنا چاہتے ہیں، جیسے کہ فائل کے نام میں ٹائم اسٹیمپ یا بے ترتیب نمبر شامل کرکے۔

  • اسکرپٹ یا کمانڈ میں فائل کا نام یا ایکسٹینشن استعمال کرنے کے لیے - آپ فائل کا نام یا ایکسٹینشن نکالنا چاہتے ہیں تاکہ اسے کسی اسکرپٹ یا کمانڈ کے لیے دلیل یا ان پٹ کے طور پر استعمال کیا جا سکے، جیسے کہ اسے کسی پروگرام میں منتقل کرنا یا ڈائرکٹری کے نام سے ایک فائل بنانا۔

  • فائل کے نام یا توسیع سے معلومات نکالنے کے لیے - آپ فائل کا نام یا ایکسٹینشن نکالنا چاہیں گے تاکہ اس سے معلومات نکالیں، جیسے کہ تاریخ یا فائل کی قسم۔

اس مضمون میں، ہم تین سب سے عام طریقوں پر ایک نظر ڈالیں گے جن سے آپ باش میں فائل کا نام اور فائل ایکسٹینشن نکال سکتے ہیں۔ ہم ان میں سے ہر ایک پر ایک نظر ڈالیں گے اور آپ کو فوائد اور نقصانات دیں گے، تاکہ آپ ایک پڑھا لکھا فیصلہ کر سکیں کہ کون سا طریقہ آپ کے لیے بہترین ہے۔

طریقہ 1: کا استعمال کرتے ہوئے بیس نام کمان

۔ basename کمانڈ کو فائل پاتھ سے فائل نام اور ایکسٹینشن نکالنے کے لیے استعمال کیا جا سکتا ہے۔

filename=$(basename /path/to/file.txt)
echo $filename

اگرچہ یہ طریقہ کافی آسان اور استعمال میں آسان ہے، بدقسمتی سے، ایسا کوئی طریقہ نہیں ہے کہ ہم بغیر کسی پوسٹ پروسیسنگ کے صرف فائل کا نام (بغیر کسی توسیع کے) نکال سکیں۔

آپ کو بھی استعمال کر سکتے ہیں dirname ڈائرکٹری کا راستہ الگ سے نکالنے کا حکم:

directory=$(dirname /path/to/file.txt)
echo $directory

پیشہ:
  • استعمال کرنے کے لئے آسان
  • خالی جگہوں کے ساتھ فائل ناموں کو صحیح طریقے سے ہینڈل کرتا ہے۔
Cons:
  • صرف فائل کا نام نکالتا ہے اور اضافی پروسیسنگ کے بغیر ایکسٹینشن کو الگ سے نہیں نکال سکتا

طریقہ 2: پیرامیٹر کی توسیع کا استعمال

Bash نامی ایک خصوصیت فراہم کرتا ہے۔ پیرامیٹر کی توسیع، جو آپ کو ایک خاص نحو کا استعمال کرتے ہوئے متغیر کے حصوں کو نکالنے کی اجازت دیتا ہے۔ مثال کے طور پر، آپ متغیر میں محفوظ فائل پاتھ سے فائل کا نام اور ایکسٹینشن نکالنے کے لیے درج ذیل نحو کا استعمال کر سکتے ہیں۔

filepath="/path/to/file.txt"
filename=${filepath##*/}
echo $filename

آپ ایکسٹینشن کو الگ سے نکالنے کے لیے پیرامیٹر کی توسیع کا بھی استعمال کر سکتے ہیں:

extension=${filename##*.}
echo $extension

پیشہ:
  • لچکدار
  • فائل کا نام اور ایکسٹینشن دونوں الگ الگ نکال سکتے ہیں،
  • خالی جگہوں کے ساتھ فائل ناموں کو صحیح طریقے سے ہینڈل کرتا ہے۔
Cons:
  • فائل پاتھ کو اسٹور کرنے کے لیے متغیر کی ضرورت ہوتی ہے۔

طریقہ 3: کا استعمال کرتے ہوئے عجیب کمانڈ

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

filepath="/path/to/file.txt"
filename=$(echo $filepath | awk -F/ '{print $NF}')
echo $filename

بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!

آپ بھی استعمال کر سکتے ہیں awk علیحدہ علیحدہ ایکسٹینشن نکالنے کے لیے:

extension=$(echo $filename | awk -F. '{print $NF}')
echo $extension

پیشہ:
  • طاقتور
  • فائل کا نام اور ایکسٹینشن دونوں الگ الگ نکال سکتے ہیں۔
  • خالی جگہوں کے ساتھ فائل ناموں کو صحیح طریقے سے ہینڈل کرتا ہے۔
Cons:
  • نحو کچھ صارفین کے لیے ناواقف ہو سکتا ہے۔
  • فائل کے راستے کو پائپ کرنے کی ضرورت ہے۔ awk

نتیجہ

مجموعی طور پر، باش میں فائل کا نام اور ایکسٹینشن نکالنا فائلوں کے ساتھ کام کرنے اور باش شیل میں مختلف کام انجام دینے کے لیے ایک مفید تکنیک ہو سکتی ہے۔

ذکر کردہ طریقوں میں سے ہر ایک کے اپنے فوائد اور نقصانات ہیں، اور بہترین انتخاب آپ کی مخصوص ضروریات اور ترجیحات پر منحصر ہوگا۔ متعدد طریقوں سے واقف ہونا اکثر مفید ہوتا ہے تاکہ آپ اپنی صورت حال کے لیے موزوں ترین طریقہ منتخب کر سکیں۔

ٹائم اسٹیمپ:

سے زیادہ Stackabuse