কীভাবে কোনও ফোল্ডারের সমস্ত বিষয়বস্তুটিতে ডরস 2 ইউনিক্স পুনরাবৃত্তভাবে প্রয়োগ করবেন?


11

dos2unixকমান্ডটি প্রয়োগ করার কোনও উপায় আছে যাতে এটি কোনও ফোল্ডারের সমস্ত ফাইলের বিপরীতে চলে এবং এটি সাবফোল্ডার? man dos2unixএমন কোনও -rবা অনুরূপ বিকল্প দেখায় না যা এটিকে সরাসরি এগিয়ে দেবে?

উত্তর:



3

বাইনারি এবং লুকানো ফাইলগুলি এড়িয়ে যাওয়া আমার পক্ষে গুরুত্বপূর্ণ ছিল:

এই আমার জন্য ভাল কাজ করেছে:

find . -type f -not -path '*/\.*' -exec grep -Il '.' {} \; | xargs -d '\n' -L 1 dos2unix -k

যা এর মধ্যে অনুবাদ করে: বর্তমান ডিরেক্টরিতে সমস্ত গোপনীয় ফাইলগুলি পুনরাবৃত্তভাবে সন্ধান করুন, তারপরে গ্রেপ ব্যবহার করে সমস্ত নন-বাইনারি (-I) নন-খালি ফাইল তালিকাভুক্ত করুন, তারপরে এটি একবারে xargs (নিউলাইন দ্বারা বিসর্জনিত) এক ফাইলে ফাইল করুন ডস 2 ইউনিক্স এবং মূল টাইমস্ট্যাম্প রাখুন।

আরো দেখুন:

https://github.com/mdolidon/endlines


2

আপনি আপনার ডস 2 ইউনিক্স কমান্ডের মাধ্যমে যে ডিরেক্টরিটি চালাতে চান তার ডিরেক্টরি ফাইলের সন্ধানের জন্য আপনি ব্যবহার করতে পারেন

find /path/to/the/files -type f -exec dos2unix {} \;

সন্ধানের জন্য ম্যান পৃষ্ঠাগুলি একবার দেখুন, অনেকগুলি বিকল্প রয়েছে যা আপনি যা মূল্যায়ন করবেন তা নির্দিষ্ট করতে ব্যবহার করতে পারেন


এটি কাজ করে না।
অ্যালেক্স কিনম্যান

2
ফাইল ট্রিতে কোথাও একটি .git ডিরেক্টরি উপস্থিত থাকলে এটি খুব সচেতন থাকুন ... এটি আমার স্থানীয় গিট সংগ্রহস্থলকে কলুষিত করেছে।
অ্যারোন _

1

ওয়াইল্ডকার্ড ব্যবহার করুন। এটি পছন্দ করুন: (আপনি যদি ফোল্ডারে থাকেন)

dos2unix *

অথবা আপনি যদি ফোল্ডারের বাইরে থাকেন তবে:

dos2unix /path/to/folder/*

1

ব্যবহার bash:

shopt -s globstar
dos2unix **

globstarশেল বিকল্প bashব্যবহার সক্ষম **উল্লিখিত glob। এটি ঠিক একইভাবে কাজ করে *তবে /পাথ-নেমে জুড়েছে (অতএব সাব-ডিরেক্টরিতেও নামের সাথে মেলে)। এটি এমন একটি ডিরেক্টরিতে কাজ করবে যার উপ-ডিরেক্টরিগুলিতে মাঝারি সংখ্যক ফাইল রয়েছে (বহু হাজার নয়)।

ইন zshএবং yashশাঁস (সঙ্গে set -o extended-globyash), আপনি কি করবেন

dos2unix **/*
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.