শেষ সীমানার উপর স্ট্রিং কাটা


14

আমার মতো একটি ফাইল নাম রয়েছে a.b.c.txt, আমি চাইছি এই স্ট্রিংটি বিভক্ত হোক

string1=a.b.c
string2=txt

মূলত আমি ফাইলের নাম এবং এর এক্সটেনশানটি বিভক্ত করতে চাই। আমি ব্যবহার করেছি cutকিন্তু এটি বিভাজন হিসাবে a,b,cএবং txt। আমি শেষ ডিলিমিটারে স্ট্রিংটি কাটতে চাই।

কেউ সাহায্য করতে পারেন?

উত্তর:



15

এটি করার জন্য অনেকগুলি সরঞ্জাম রয়েছে।

আপনি যেমন ব্যবহার করেছেন cut:

$ string1="$(cut -d. -f1-3 <<<'a.b.c.txt')"
$ string2="$(cut -d. -f4 <<<'a.b.c.txt')"
$ echo "$string1"
a.b.c
$ echo "$string2"
txt

আমি প্যারামিটার সম্প্রসারণ ব্যবহার করতাম (যদি শেল এটি সমর্থন করে):

$ name='a.b.c.txt'
$ string1="${name%.*}"
$ string2="${name##*.}"
$ echo "$string1"
a.b.c
$ echo "$string2"
txt

1
বাশ সমাধান মার্জিত।
törzsmókus

কাটা এক সময়কালের দ্বারা নির্দিষ্ট নির্দিষ্ট সংখ্যা দিয়ে কেবল কাজই আছে!
törzsmókus

0
echo "a.b.c.txt" | cut -d. -f1-3

cutকমান্ড সীমানা হবে .এবং আপনি 4 কারণের দেব ( a, b, c, txt)। উপরের কমান্ডটি 1 থেকে 3 ফ্যাক্টর মুদ্রণ করবে (অন্তর্ভুক্ত)।

বা:

echo "a.b.c.txt" | cut -d -f-3

উপরের কমান্ডটি 1 পর্যন্ত 3 অবধি (অন্তর্ভুক্ত) মুদ্রণ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.