dos2unixকমান্ডটি প্রয়োগ করার কোনও উপায় আছে যাতে এটি কোনও ফোল্ডারের সমস্ত ফাইলের বিপরীতে চলে এবং এটি সাবফোল্ডার?
man dos2unixএমন কোনও -rবা অনুরূপ বিকল্প দেখায় না যা এটিকে সরাসরি এগিয়ে দেবে?
dos2unixকমান্ডটি প্রয়োগ করার কোনও উপায় আছে যাতে এটি কোনও ফোল্ডারের সমস্ত ফাইলের বিপরীতে চলে এবং এটি সাবফোল্ডার?
man dos2unixএমন কোনও -rবা অনুরূপ বিকল্প দেখায় না যা এটিকে সরাসরি এগিয়ে দেবে?
উত্তর:
বাইনারি এবং লুকানো ফাইলগুলি এড়িয়ে যাওয়া আমার পক্ষে গুরুত্বপূর্ণ ছিল:
এই আমার জন্য ভাল কাজ করেছে:
find . -type f -not -path '*/\.*' -exec grep -Il '.' {} \; | xargs -d '\n' -L 1 dos2unix -k
যা এর মধ্যে অনুবাদ করে: বর্তমান ডিরেক্টরিতে সমস্ত গোপনীয় ফাইলগুলি পুনরাবৃত্তভাবে সন্ধান করুন, তারপরে গ্রেপ ব্যবহার করে সমস্ত নন-বাইনারি (-I) নন-খালি ফাইল তালিকাভুক্ত করুন, তারপরে এটি একবারে xargs (নিউলাইন দ্বারা বিসর্জনিত) এক ফাইলে ফাইল করুন ডস 2 ইউনিক্স এবং মূল টাইমস্ট্যাম্প রাখুন।
আরো দেখুন:
আপনি আপনার ডস 2 ইউনিক্স কমান্ডের মাধ্যমে যে ডিরেক্টরিটি চালাতে চান তার ডিরেক্টরি ফাইলের সন্ধানের জন্য আপনি ব্যবহার করতে পারেন
find /path/to/the/files -type f -exec dos2unix {} \;
সন্ধানের জন্য ম্যান পৃষ্ঠাগুলি একবার দেখুন, অনেকগুলি বিকল্প রয়েছে যা আপনি যা মূল্যায়ন করবেন তা নির্দিষ্ট করতে ব্যবহার করতে পারেন
ওয়াইল্ডকার্ড ব্যবহার করুন। এটি পছন্দ করুন: (আপনি যদি ফোল্ডারে থাকেন)
dos2unix *
অথবা আপনি যদি ফোল্ডারের বাইরে থাকেন তবে:
dos2unix /path/to/folder/*
ব্যবহার bash:
shopt -s globstar
dos2unix **
globstarশেল বিকল্প bashব্যবহার সক্ষম **উল্লিখিত glob। এটি ঠিক একইভাবে কাজ করে *তবে /পাথ-নেমে জুড়েছে (অতএব সাব-ডিরেক্টরিতেও নামের সাথে মেলে)। এটি এমন একটি ডিরেক্টরিতে কাজ করবে যার উপ-ডিরেক্টরিগুলিতে মাঝারি সংখ্যক ফাইল রয়েছে (বহু হাজার নয়)।
ইন zshএবং yashশাঁস (সঙ্গে set -o extended-globএ yash), আপনি কি করবেন
dos2unix **/*
dos2unixডিফল্টরূপে বাইনারিগুলি এড়িয়ে যান।