বেশিরভাগ পোস্ট করা উত্তরগুলি ইউআরএলগুলিতে শক্ত নয় যা কোয়েরি স্ট্রিং বা লক্ষ্যগুলি ধারণ করে যেমন উদাহরণস্বরূপ, নিম্নলিখিত:
https://example.com/this/is/a/path?query#target
পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে ইউআরএল পার্সিং রয়েছে; এটি করতে দেওয়া এটি আরও সহজ। যেমন,
from urllib import parse
import sys
path = parse.urlparse(sys.stdin.read().strip()).path
print("/" if not path or path == "/" else path.rsplit("/", 1)[-1])
আপনি এটি python3 -c
শেল স্ক্রিপ্টে ব্যবহারের জন্য একক মধ্যে সংক্ষিপ্ত করতে পারেন :
echo 'https://example.com/this/is/a/path/componets?query#target' \
| python3 -c 'from urllib import parse; import sys; path = parse.urlparse(sys.stdin.read().strip()).path; print("/" if not path or path == "/" else path.rsplit("/", 1)[-1])'
(পাঠযোগ্যতার জন্য আপনিও স্ক্রিপ্টটি বিচ্ছিন্ন রাখতে পারেন। '
new আপনাকে নতুন লাইনে letুকিয়ে দেবে))
অবশ্যই, এখন আপনার শেল স্ক্রিপ্টের পাইথনের উপর নির্ভরতা রয়েছে।
(আমি যদি URL এর পাথ উপাদান মূল ( /
) মূল ক্ষেত্রে থাকে তবে এমন কেসগুলি হ্যান্ডেল করার চেষ্টা করে কিনা সে সম্পর্কে আমি কিছুটা অনিশ্চিত ;