এখানে একটি ওয়ান-লাইনার:
ls -AQp | grep "\.mp3\"$" | xargs `xdg-mime query default audio/mpeg | grep -oP '.+(?=\.desktop)'`
আমি যেমন ভিএলসি ইনস্টল করেছি (এবং এমপি 3 এর জন্য একটি ডিফল্ট হিসাবে), এটি আমার জন্য ভিএলসি সহ একটি ডিরেক্টরিতে সমস্ত এমপি 3-ফাইল খুলবে। এটি " সর্বজনীন-সমাধান-এটি-সর্ব-ও-কাজ-ইন-প্রতিটি-ফ্রিকিং-কেস " কোনও ধরণের নয় , তবে এটি কাজ করা উচিত ।
ব্যাখ্যা:
ls -AQp
"প্রায় সমস্ত" ফাইল তালিকাভুক্ত করে, ফাইলের নাম উদ্ধৃত করে এবং ডিরেক্টরিগুলির নামগুলিতে স্ল্যাশ যুক্ত করে। প্রতিস্থাপন -p
সঙ্গে --file-type
আপনি symlinks বাদ দেওয়ার পাশাপাশি কামনা করি। ফাইলের নামগুলিতে ফাঁকির ক্ষেত্রে উদ্ধৃতি দেওয়া হচ্ছে।
grep "\.mp3\"$"
".mp3" (প্লাস ডাবল-কোট) দিয়ে শেষ হওয়া ফাইলগুলি কেবল নির্বাচন করে।
xargs
নিম্নলিখিত সাবশেলের রিটার্নগুলি পুরো প্রোগ্রামটিকে পুরোপুরি পুনর্নির্দেশ করে।
subshell:
xdg-mime query default audio/mpeg
যার মাইম ফাইলগুলির জন্য "অ্যাপ.ডেস্কটপ" ফর্ম্যাটে ডিফল্ট অ্যাপের নাম দেয় audio/mpeg
। আপনি আপনার পরিবেশের যে কোনও ফাইলের জন্য মাইমটাইপ পরীক্ষা করতে পারেন xdg-mime query filetype /path/to/file
। আমি এমপি 3-ফাইলের জন্য "অডিও / এমপিইগ" পেয়েছি।
grep -oP '.+(?=\.desktop)'
"অ্যাপ.ডেস্কটপ" থেকে "অ্যাপ" পান "
আপনি যদি এমন সিস্টেমে খুব ঘন ঘন ব্যবহার করতে যাচ্ছেন যা খুব বেশি পরিবর্তন ঘটছে না, আপনি এটি এটিকে সংক্ষিপ্ত করতে চাইতে পারেন:
ls -AQp | grep "\.mp3\"$" | xargs default_app
যেখানে আপনি default_app
প্রকৃত প্রোগ্রামটি প্রতিস্থাপন করবেন যা ফাইলগুলির সাথে খোলে। আপনি এটির সাথে এর নামটি বের করতে পারেন:
xdg-mime query default audio/mpeg | grep -oP '.+(?=\.desktop)'
xdg-open
এই সমস্যাটি নিয়ে কাজ করবে না, কারণ এটি ডিজাইনের মাধ্যমে কেবল একটি যুক্তিই গ্রহণ করে। যদি ব্যবহার করা হয়
xargs -n1
, আপনি সম্ভবত প্রাচীরের সাথে আঘাত হবেন যে প্রশ্নটির ফলে থাকা অ্যাপ্লিকেশনটি নতুন ফাইলগুলিতে প্রতিটি ফাইল খুলতে পারে, যা একাধিক উপায়ে কুৎসিত হতে পারে।
xdg-open
এটি ডিফল্টরূপে সত্যিই সক্ষম হতে হবে ... কেবলমাত্র যুক্তি তালিকাটি প্রোগ্রামে পাস করুন। আসুন ফ্রিডেস্কটপ.অর্গ লোকেরা! :-)