awkযে কোনও রঙ বা পাঠ্য বিন্যাসের জন্য অ্যাকাউন্টিং কীভাবে কেবল মাত্র +এবং -লাইনগুলি দেখানোর জন্য ব্যবহার git diffকরতে হবে:
এখানে অন্য উত্তরগুলির মধ্যে একটিও নয় ( আমার অন্যান্য উত্তর সহ ) আপনি সঠিকভাবে 100% যা চান তা ঠিক করবে না। এই উত্তরটি অবশ্য দেবে। এখানে একটি 1-লাইনার আপনি অনুলিপি করে আপনার টার্মিনালে পেস্ট করতে পারেন। আমি কেবল এটি পঠনযোগ্যতার জন্য একাধিক লাইন তৈরি করেছি - আপনি এটি উভয়ভাবে কপি-পেস্ট করতে পারেন যাতে আমি এটি পাঠযোগ্যও হতে পারি! এটি awkপ্রোগ্রামিং ভাষার উপর নির্ভর করে :
git diff --color=always "$@" | awk '
# 1. Match and then skip "--- a/" and "+++ b/" lines
/^(\033\[(([0-9]{1,2};?){1,10})m)?(--- a\/|\+\+\+ b\/)/ {
next
}
# 2. Now print the remaining "+" and "-" lines ONLY! Note: doing step 1 above first was required or
# else those lines would have been matched by this matcher below too since they also begin with
# the "+" and "-" symbols.
/^(\033\[(([0-9]{1,2};?){1,10})m)?[-+]/ {
print $0
}
' | less -RFX
এটির বৈশিষ্ট্যগুলি এখানে। এই সমস্ত বৈশিষ্ট্যগুলি যখন একত্রে নেওয়া হয়, তবে এখানে প্রতিটি উত্তরের ত্রুটিগুলি সমাধান করুন:
- এটি রঙ এবং নো-কালার আউটপুট পরিচালনা করে। এই নিয়মিত প্রকাশটি এটাই করে:
^(\033\[(([0-9]{1,2};?){1,10})m)?
- এটি সমস্ত রং এবং সমস্ত পাঠ্য বিন্যাসের বিকল্পগুলি পরিচালনা করে যার মধ্যে সাহসী, তির্যক, স্ট্রাইকথ্রু ইত্যাদি রয়েছে যা আপনি আপনার
git configসেটিংসে সেট করতে পারেন । এই কারণেই উপরের রেজেক্সের রয়েছে ;?এবং{1,10} এতে রয়েছে: যদি এটি কোনও রঙ বা পাঠ্য বিন্যাস কোডের শুরুর সন্ধান করে তবে এটি এই সংযুক্ত এএনএসআই কোডগুলির 10 টি সিকোয়েন্স পর্যন্ত মিলবে।
এটিতে লাইন @@এবং শব্দের সাথে শুরু হওয়া শব্দগুলি যেমন অন্তর্ভুক্ত থাকে না diffযেমন স্বীকৃত উত্তরটি করে। আপনি যদি সেই লাইনগুলি চান (যা বেশ স্পষ্টভাবে মনে হয়, আমি দরকারী বলে মনে করি :)), পরিবর্তে এটি করুন:
git diff --unified=0
অথবা
git diff -U0
এটি আউটপুটটিকে ঠিক একইভাবে দেখায় git diff: lesscolorচ্ছিক রঙের আউটপুট ( -R) সহ পেজারে , এবং কেবলমাত্র টেক্সটটি> 1 পৃষ্ঠা ( -F) থাকলে এবং আপনি যখন qইউটিউব ( -X) ব্যবহার করেন তখন পর্দায় পাঠ্যের বর্তমান পৃষ্ঠাটি ধরে রাখার সময় ।
এটি শক্তিশালী এবং সহজে কনফিগারযোগ্য হওয়ার সুবিধাও রয়েছে কারণ এটি অ্যাড প্রোগ্রামিং ভাষা ব্যবহার করে।
আপনি যদি অবাস্তব শিখতে আগ্রহী হন তবে এখানে কিছু সংস্থান রয়েছে:
gawk(জিএনইউ awk) ম্যানুয়াল: https://www.gnu.org/software/gawk/manual/html_node/index.html#SEC_Contents
- অধ্যয়ন
git diffnএবং এতে মন্তব্যসমূহ: https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/useful_scriptts/git-diffn.sh
- যদি
git diffnআপনিও চান , যা git diffলাইন সংখ্যার সাথে রয়েছে, এখানে দেখুন: লাইন সংখ্যাগুলির সাথে গিট ডিফার্ট (লাইন সংখ্যার সাথে গিট লগ)
- কিছু অদ্ভুত "হ্যালো ওয়ার্ল্ড" এবং সিনট্যাক্স পরীক্ষার উদাহরণ: https://github.com/E लेक्टricRCAircraftGuy/eRCaGuy_hello_world/tree/master/awk
বোনাস হিসাবে, আমি উপরের হিসাবে ব্যবহারের git diffcজন্য উপরেরটিও গুটিয়ে রেখেছি, যার অর্থ "কেবল 'সি'হ্যাংস দেখাতে গিট আলাদা"। ব্যবহারের হয় অভিন্ন করার git diff; git diffcপরিবর্তে ব্যবহার করুন! এটি সমস্ত বিকল্পকে সমর্থন করে। ডিফল্টরূপে রঙ চালু। এটি বন্ধ করতে, কেবল git diffc --no-colorবা ব্যবহার করুন git diffc --color=never। দেখুন man git diffবিস্তারিত জানার জন্য।
যেহেতু আমি গতকাল সবেমাত্র git diffn( git diffলাইন 'n'নাম্বার সহ একটি সরঞ্জাম দেখানোর জন্য ) শেষ করেছি, তাই লেখাটি git diffcছিল তুচ্ছ। আমি অনুভব করেছি যে জ্ঞানটি আমার মাথায় সতেজ থাকা অবস্থায় আমি এখন এটি আরও ভাল করে করব।
ইনস্টল করুন git diffc:
এই উত্তরটির শেষে নির্দেশাবলী অনুসরণ করুন , আপনি যে git-diffnকোনও জায়গায় নির্দেশাবলীতে দেখতে পাচ্ছেন , তার git-diffcপরিবর্তে ব্যবহার করুন। wgetকমান্ডের মধ্যে এটিও অন্তর্ভুক্ত রয়েছে । ডাউনলোড করা এবং ইনস্টল git diffcকরা সহজ: এটি কেবল কয়েকটি কমান্ড।