নমুনা ডিরেক্টরি কাঠামো:
$ ls -1 test
a
b.uploaded
c.uploaded
d.uploaded
e
সহ find
, অন্য কমান্ডের মাধ্যমে পাইপিংয়ের মাধ্যমে উপযুক্ত xargs
:
$ EXT='.uploaded'; find dir -maxdepth 1 -name "*$EXT" -exec basename {} "$EXT" \;
d
b
c
শেল স্ক্রিপ্টে basename
ডিরেক্টরি এবং প্রত্যয় ফালা ব্যবহার করে :
$ EXT=".uploaded"; for i in dir/*"$EXT"; do basename -- "$i" "$EXT"; done
b
c
d
শেল স্ক্রিপ্টে, প্যারামিটার সম্প্রসারণ ব্যবহার করে:
$ EXT=".uploaded"; for i in dir/*"$EXT"; do i=${i##*/}; printf '%s\n' "${i%$EXT}"; done
b
c
d
মনে রাখবেন আপনি বেশ কয়েকটি ফাইল হিট করতে পারেন। আপনি ফাইলটির পরে কী ঘটতে চান তা সংজ্ঞায়িত করেননি। আপনি যদি নিশ্চিত হন যে কেবলমাত্র একটি ফাইলই মিলবে তবে আপনি basename
সরাসরি ব্যবহার করতে পারেন :
$ rm dir/{b,d}.uploaded
$ basename dir/*.uploaded .uploaded
c
গ্লোব একাধিক ফাইলের সাথে মেলে তবে এটি ব্যর্থ হবে।