আমি ফাইল আছে
foo.mp3
বার baz.mp3
বার baz 2.mp3
কি কমান্ড নিম্নলিখিত আউটপুট হবে?
foo বিন্যাস
বার \ baz
বার \ baz \ 2
আমি জানি ls -1b পালাবার পালা, কিন্তু আমি কিভাবে কাটাবো .mp3 শেষে?
আমি ফাইল আছে
foo.mp3
বার baz.mp3
বার baz 2.mp3
কি কমান্ড নিম্নলিখিত আউটপুট হবে?
foo বিন্যাস
বার \ baz
বার \ baz \ 2
আমি জানি ls -1b পালাবার পালা, কিন্তু আমি কিভাবে কাটাবো .mp3 শেষে?
উত্তর:
ls -1 | cut -d "." -f 1
প্রথম পর্যায় এবং এটি পরে সবকিছু বন্ধ। এটি বিভাজক হিসাবে সময়কালকে চিকিত্সা করে এবং বিভাজক যে কোনও ঘটনার আগেই প্রথম ক্ষেত্রের মধ্যে পাঠ্যটি দেখায়। যদি আপনার ফাইল নামগুলির সর্বাধিক (শূন্য বা এক সময়, মোট) একমাত্র এক্সটেনশান থাকে তবে এটি কাজ করতে পারে (কেবলমাত্র সহজ)।
ls -1b | cut -d "." -f 1
লিনাক্সে "\" দিয়ে স্পেসগুলি প্রতিস্থাপন করে। মনে রাখবেন, যদিও, আপনার কাছে এই প্রশ্নটিতে ইউনিক্স ট্যাগ রয়েছে। এবং, "ls" এ "-b" বিকল্পটি সমস্ত ইউনিক্সের বৈচিত্র্যের দ্বারা সমর্থিত নয়। (এটি ব্যাপকভাবে -ল (দীর্ঘ) বা -1 (একক কলাম) হিসাবে সমর্থিত নয়।
আমি এটা দিয়ে কাজ পেয়েছিলাম ls -1b | sed s/\.mp3//
ls -1 | sed s/\\.mp3$// চমত্কারভাবে কাজ করে। $। বাদ দেওয়া থেকে "। Mp3.zip" মুছে ফেলতে সহায়তা করে এবং যদি আপনার শেল ব্যাকস্ল্যাশকে অব্যবহার চরিত্র হিসাবে ব্যবহার করে তবে দুটি ব্যাকস্ল্যাশ ব্যবহার করা উচিত, যা ইউনিক্সে সাধারণ। শুধুমাত্র পতন হল যে সিডটি কয়েকটি ভিন্ন ইউনিক্সের দ্বারা সমর্থিত, তবে sed পাওয়া বেশ প্রচলিত এবং মূল্যবান। কি tr একটি কার্যকর বিকল্প খুব?
.)।ls -laএখনও তথ্য দেখায়, শুধু কোন ফাইলের নাম অংশ