ইউনিফাইড আউটপুট পৃথক; এপ্রেস অবড লাইনে?


1

ডিফ ব্যবহার করার সময়, আউটপুটে প্রথম দুটি লাইন (ফাইলের নাম এবং সময় তালিকাভুক্ত করা) এবং সমস্ত লাইন দমন করার উপায় আছে কি? আমি চাই সমস্ত লাইনগুলি যা মুছতে হবে এবং কোনটি যুক্ত করতে হবে তা দেখায়।

আমার বর্তমানে কমান্ডটি এখানে রয়েছে:

diff file1 file2 -U 0 > output.txt

কমান্ডটি দিয়ে আউটপুট. টেক্সট ফাইলটিতে আমি কী পাই তার নমুনা আউটপুট:

--- file1   2010-11-25 01:56:58.856462432 -0500
+++ file2   2010-11-25 01:57:20.100626348 -0500
@@ -145,2 +145 @@
-VI2
-US3
+VI4
@@ -168,2 +167,2 @@
-56VI
-56PR
+57VI
+57PR

[সম্পাদনা]: এটি যেটি কম কম্যান্ড যুক্ত করেছিল, এটি আসলে সঠিক হয়ে গেছে। আপনি যদি উত্তরটি পোস্ট করেন তবে আমি আপনাকে উত্তরটি দেব।

উত্তর:


2
diff file1 file2 -U 0 | tail +3 | grep -v "^@@" > output.txt

এই সংস্করণটিতে আপনার একই diffকমান্ড রয়েছে তবে প্রথম দুটি রেখা tail(তৃতীয় লাইন থেকে শুরু) দিয়ে আলাদা করা হয় এবং শুরুতে "@@" না থাকা কেবল রেখাগুলিকে আউটপুট দেয়।


0

আমি যে সমাধানে এসেছি, এটি এটিই শেষ হয়েছিল:

comm -1 -3 --nocheck-order 'path/file.csv' 'path/file2.csv' > 'path/added.txt'
comm -2 -3 --nocheck-order 'path/file.csv' 'path/file2.csv' > 'path/removed.txt'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.