আমি কীভাবে 2 টির মধ্যে পার্থক্য আউটপুট করতে পারি?


11

আমার ফাইলটি নিম্নলিখিতগুলি নিয়ে গঠিত; মোটামুটিভাবে:

username:username:username:username:username 

উপরের লাইনটি প্রায় 600 টি অক্ষর অবিরত করে।

awkকমান্ড লাইন থেকে প্রেরিত এপিআই / এইচটিটিপি অনুরোধে এটি আর্গুমেন্ট হিসাবে ব্যবহার করতে আমি কমান্ডটি ব্যবহার করি।

আমি আমার স্ক্রিপ্টটি ব্যবহারকারীর অ্যাকাউন্টগুলি আমাকে অনুসরণ করে 'এবং' প্রতি 24 ঘন্টা বা তার পরে, আমার হার্ডডিস্কের মূল তালিকাটিকে নতুন আউটপুটযুক্ত ব্যবহারকারীর তালিকার সাথে তুলনা করতে ব্যবহার করছি (এবং কে আর অনুসরণ করছে না তা প্রতিধ্বনি করছে) আমাকেআমাকে ব্যাশ ব্যবহার করে আমার লজিককে একটি লুপে আবদ্ধ করতে হবে .. প্রতিটি ব্যবহারকারীর নাম পরীক্ষা করা।

আমার বর্তমান স্ক্রিপ্ট:

user=$(awk -F: '{ print $1 }' FILE)  # Grab $User to use as an argument.  
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file

echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"  

          SAVE CURRENT FOLLOWERS TO NEW A FILE.  


if [[ DIFFERENCE IS DETECTED ]] ; then    

          echo -ne "$User NO LONGER FOLLOWING YOU\r"

   else echo -ne "This user is following you still.\r"
fi

আমার প্রশ্ন;
আমি কীভাবে 2 টির মধ্যে পার্থক্য আউটপুট করতে পারি?


তুমি ঠিক জানো diff?
স্কাইবা

@ শাইইবা আপনাকে ধন্যবাদ সবেমাত্র এটি অন্য ফোরামে এসেছিল, দুর্দান্ত কাজ করে। আমি এর আগে হোঁচট খাইনি। আমি আশা করি এই উত্তরটি ভবিষ্যতে অন্যান্য সদস্যদের প্রশ্নের জন্য কার্যকর হবে।
বেন

@ শাইবা এটির একটি উত্তরও দিতে পারে। যদিও ক্ষেত্রগুলি নয় লাইনগুলিতে ভিন্নতার সাথে কাজ করার বিষয়টি নিশ্চিত করুন ।
টেরডন

উত্তর:


9

আপনি যে ইউটিলিটিটি সন্ধান করছেন তা হ'ল diff। বিশদটির জন্য ম্যানুয়ালটিতে একবার দেখুন।



13

ব্যবহারকারীর তালিকাভুক্ত তালিকা থাকা দুটি ফাইল দেওয়া আছে, যেমন

In file1:
    userD
    user3
    userA
    user1
    userB

এবং

In file2:
    user3
    userB
    userX
    user1

তারপরে file1কিন্তু না থাকা ব্যবহারকারীদের একটি সাধারণ তালিকা পেতে file2আপনি এটি করতে পারেন

$ comm -23 <(sort file1) <(sort file2)
userA
userD

এবং একইভাবে ব্যবহারকারীদের মধ্যে পেতে file2কিন্তু নাfile1

$ comm -13 <(sort file1) <(sort file2)
userX

যদি তালিকা ফাইলগুলি ইতিমধ্যে বাছাই করা থাকে তবে এগুলি যথাক্রমে comm -23 file1 file2এবং comm -13 file1 file2যথাক্রমে সরলীকৃত হতে পারে ।


1
commবাছাই ছাড়াই এটি ব্যবহার করা সম্ভব ? আমার টেক্সট ফাইল আছে মান পছন্দ 1, 2, 01, 02, 0000, 0001, 0002, ইত্যাদি ব্যবহার sortডি সাজানোর হবে অর্ডার ...
Lanti


3

diff [options] from-file to-file

diffফাইল-থেকে-ফাইল-এ দুটি ফাইলের সামগ্রীর তুলনা করে -i; আপনি সেই বিকল্পটি নির্দিষ্ট করতে পারেন যা ক্ষেত্রে পরিবর্তনগুলি উপেক্ষা করে; আপার- এবং লোয়ার-অক্ষরের অক্ষরের সমতুল্য বিবেচনা করুন।

আরও তথ্যের জন্য আপনি এই লিঙ্কটি উল্লেখ করতে পারেন: http://www.computerhope.com/unix/udiff.htm বা ম্যানুয়াল পৃষ্ঠাতে আপনি দেখতে পারেন।


2

আপনি fcইউনিক্স এবং লিনাক্স অর্থাৎ diff <file_new> <file_old>কমান্ডের মতো একই উইন্ডো ব্যবহার করতে পারেন ।

তাদের সাথে +++বা ---সামনের দিকে রেখা পরিবর্তিত হয়েছে এবং একটিও নেই +'sএবং -'sপরিবর্তিত হয়নি

-চিহ্ন সহ লাইনগুলি নতুন ফাইল থেকে সরানো হবে তবে তারা পুরানো সংস্করণে বিদ্যমান

+চিহ্ন সহ লাইনগুলি নতুন ফাইলে যুক্ত করা হয় তবে ফাইলটির পুরানো সংস্করণে সেগুলি বিদ্যমান ছিল না

লিনাক্স স্বরলিপি

লিনাক্স ব্যবহার করে > এবং<

>পুরানো ফাইল থেকে রেখার অর্থ পুরানো ফাইলে <পরিবর্তিত নতুন ফাইলের লাইন


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