আমার দুটি কনফিগারেশন ফাইল রয়েছে, প্যাকেজ ম্যানেজারের আসল এবং আমার নিজের দ্বারা সংশোধিত একটি কাস্টমাইজড ফাইল। আমি আচরণ বর্ণনা করতে কিছু মন্তব্য যুক্ত করেছি।
আমি কীভাবে diff
কনফিগারেশন ফাইলগুলিতে চালাতে পারি ? একটি মন্তব্য করা লাইন দ্বারা সংজ্ঞায়িত:
- leadingচ্ছিক শীর্ষস্থানীয় সাদা স্থান (ট্যাব এবং স্পেস)
- হ্যাশ সাইন (
#
) - অন্য কিছু চরিত্র
(সহজতম) নিয়মিত প্রকাশটি প্রথম প্রয়োজন বাদ দেওয়া হবে #.*
। আমি জিএনইউ ডিফের ৩.০ এর --ignore-matching-lines=RE
( -I RE
) বিকল্পটি চেষ্টা করেছিলাম , তবে আমি আরইআর দিয়ে এটি কাজ করতে পারিনি। আমিও চেষ্টা .*#.*
এবং .*\#.*
ভাগ্য ছাড়া। আক্ষরিকরূপে লাইনটি ( Port 631
) কোনওটির সাথে RE
মেলে না, এমনভাবে আরআরএকে স্ল্যাশের মধ্যে রাখতে সহায়তা করে না।
যেমনটি "ডিফ" পরামর্শ দেওয়া হয়েছে তেমন রিগেক্সের সরঞ্জামটির গন্ধটির অভাব রয়েছে? , আমি চেষ্টা করেছি grep -G
:
grep -G '#.*' file
এটি মন্তব্যের সাথে মিলছে বলে মনে হয় তবে এটি কার্যকর হয় না diff -I '#.*' file1 file2
।
সুতরাং, এই বিকল্পটি কীভাবে ব্যবহার করা উচিত? আমি কীভাবে diff
নির্দিষ্ট লাইনগুলি ছেড়ে যেতে পারি (আমার ক্ষেত্রে, মন্তব্যসমূহ)? দয়া grep
করে ফাইলটি ইনগ করার এবং অস্থায়ী ফাইলগুলির তুলনা করার পরামর্শ দিবেন না।
diff -I
আমার প্রত্যাশা অনুযায়ী আচরণ হয় না। আমি আমার উত্তরটি একটি উদাহরণ দিয়ে আপডেট করেছি যা আমার জন্য এই আচরণটি স্পষ্ট করে।
-I
বিকল্পটির ফলে কেবল একটি ব্লককে এড়ানো হবে যদি তার সমস্ত লাইনগুলি রেজিপেক্সের সাথে মেলে। সুতরাং আপনি সেইভাবে কোনও মন্তব্য-পরিবর্তনের পরিবর্তনকে এড়িয়ে যেতে পারেন তবে কোনও মন্তব্য নয় এমন মন্তব্য পরিবর্তনের নয় যা কোনও মন্তব্য নয় change