বাশে দুটি ফাইলের প্রধানের সাথে তুলনা করুন


11

আমি diff filea filebফাইলের মধ্যে পার্থক্য দেখতে পারি । head -1 fileaফাইলিয়া বা ফাইল্বের প্রথম লাইনটি দেখতে আমিও করতে পারি । ফাইলের প্রথম লাইন এবং ফাইলবের প্রথম লাইনের মধ্যে পার্থক্য দেখানোর জন্য আমি এই আদেশগুলি কীভাবে একত্রিত করতে পারি?

উত্তর:


22

যদি আপনার শেল প্রক্রিয়া প্রতিস্থাপন সমর্থন করে , চেষ্টা করুন:

diff <(head -n 1 filea) <(head -n 1 fileb)

আমি ইতিমধ্যে কোথাও প্রক্রিয়া সাবস্টিস্টেশন কমান্ড দেখেছি, কিন্তু এটি কী করেছিল তা আমি জানতাম না। ধন্যবাদ!
— edi9999

6

আপনি যদি প্রতিটি ফাইলের প্রথম লাইনটির তুলনা করে থাকেন তবে সম্ভবত আপনি লাইনটির মধ্যে শব্দ-স্তরীয় পরিবর্তনগুলি যত্ন নিয়ে দেখছেন dwdiff:

dwdiff <(head -n 1 filea) <(head -n 1 fileb)

dwdiffকিছু দুর্দান্ত বিকল্প রয়েছে, -cপরিবর্তিত শব্দগুলিকে রঙিন করতে চাই ।

বা, sedমাথার পরিবর্তে ব্যবহার করে:

dwdiff <(sed 1q filea) <(sed 1q fileb)

যা মাথা জন্য ম্যানুয়াল প্রস্তাব দেওয়া, মাথা চেয়ে বেশি পোর্টেবল হিসাবে মাথা জন্য সিনট্যাক্স সময়ের সাথে পরিবর্তিত হয়েছে head -1বনামhead -n 1

এছাড়াও, আপনি কিছুটা কম টাইপ করে কেবল পরিবর্তনগুলি চোখের জল ফেলতে পারেন:

head -n1 -q filea fileb

যা সহজে ভিজ্যুয়াল তুলনার জন্য দুটি লাইনকে একের নীচে প্রদর্শন করে।


0

তুমি ব্যবহার করতে পার:

if [ "`head -1 file1`" == "`head -1 file2`" ]; then echo "the same"; fi

2
নোট করুন যে ফাইল 1 খালি ফাইল (বা পাঠযোগ্য নয়) এবং ফাইল 2 এর প্রথম লাইন ফাঁকা থাকলে এটি "একই "টির উত্তর দেবে।
— স্টাফেন শেজেলাস

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