মেল লগগুলি পড়া অবিশ্বাস্যরকম কঠিন। কমান্ড লাইনে মুদ্রিত প্রতিটি লাইনের মধ্যে আমি কীভাবে ফাঁকা রেখা আউটপুট দিতে পারি? উদাহরণস্বরূপ, বলুন আমি লগটি গ্রেপ-ইন করছি। এইভাবে, একাধিক মোড়ানো লাইনগুলি বিভ্রান্ত হচ্ছে না।
মেল লগগুলি পড়া অবিশ্বাস্যরকম কঠিন। কমান্ড লাইনে মুদ্রিত প্রতিটি লাইনের মধ্যে আমি কীভাবে ফাঁকা রেখা আউটপুট দিতে পারি? উদাহরণস্বরূপ, বলুন আমি লগটি গ্রেপ-ইন করছি। এইভাবে, একাধিক মোড়ানো লাইনগুলি বিভ্রান্ত হচ্ছে না।
উত্তর:
sed G
# option: g G Copy/append hold space to pattern space.
G
প্রায়শই ব্যবহৃত হয় না, তবে এই উদ্দেশ্যে দুর্দান্ত। সেড দুটি বাফার স্পেস রক্ষণ করে: "প্যাটার্ন স্পেস" এবং "হোল্ড স্পেস"। লাইন দ্বারা প্রক্রিয়াভুক্ত sed সাধারণত প্যাটার্ন স্থান মাধ্যমে প্রবাহিত বিভিন্ন কমান্ড তার বিষয়বস্তু (কাজ যেমন s///
, p
ইত্যাদি); হোল্ড স্পেস খালি শুরু হয় এবং কিছু কমান্ড দ্বারা ব্যবহৃত হয়।
G
কমান্ড একটি newline এবং প্যাটার্ন স্থান থেকে ধরে স্থান বিষয়বস্তু appends। উপরের শেড প্রোগ্রামটি কখনই হোল্ড স্পেসে কিছু রাখে না, তাই G
কার্যকরভাবে প্রক্রিয়াজাত প্রতিটি লাইনে কেবল একটি নতুন লাইন যুক্ত হয়।
-e
কারণ আমাদের কেবলমাত্র একটি একক কমান্ড যুক্তি প্রয়োজন need
আপনি কি এই পরে?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
read -r
ব্যাকস্ল্যাশ অক্ষরগুলির বিশেষ হিসাবে চিকিত্সা করা এড়াতে আপনি সম্ভবত ব্যবহার করতে চাইবেন ।
যদি এটি কেবল চেহারাটির চেয়ে বেশি থাকে তবে আমি এগুলিকে একটি পাঠ্য ফাইলে প্রেরণ এবং একটি পাঠ্য সম্পাদক দিয়ে খুলতে পছন্দ করি যাতে আপনি লাইনগুলি মোড়ানোর জন্য সেট করতে পারেন এবং না এবং সহজেই অনুসন্ধানগুলি করতে পারেন ... এবং অযাচিত লাইনগুলি মুছুন এবং এগুলি ছাড়াও অনেক কমান্ড টাইপ করতে হবে।
cat file.log > log.txt
এবং gedit log.txt
বা ন্যানোর মতো একটি টার্মিনাল সম্পাদক
সম্পাদনা করুন: বা cp file.log log.txt
যা অবশ্যই সহজ এবং দ্রুত ... কিথবি মন্তব্যে ধন্যবাদ
cat
এবং না cp
?
cp
সহজ এবং দ্রুত হবে! ... হ্যাঁ - আমি অন্যান্য উত্তরগুলি পড়ছিলাম grep
এবং awk
তাই আমি এটি সেভাবে লিখেছিলাম cat
তবে আমি এটি সংশোধন করছি, ধন্যবাদ
whatever | sed G
কৌশলটি করা উচিত।