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
ডিফল্টরূপে বাইনারিগুলি এড়িয়ে যান।