একটি REGEX এর উপর ভিত্তি করে লাইনের রঙ পরিবর্তন করতে টার্মিনালটি STDOUT / STDERR পরিবর্তন করুন


0

এটা কি সম্ভব? আমি যা অর্জন করতে চাই তা হ'ল ইউনিট টেস্ট (পাইথন) চলাকালীন যে কোনও লাইন হাইলাইট করা যা বর্তমান প্রকল্প ডিরেক্টরিতে পাথের সাথে মিলে যায় এবং অন্য আউটপুটটি আউটআউট ছেড়ে দেয়। সাধারণত এই লাইনটি আমি সন্ধান করছি তাই এটি ডিবাগিংয়ের উদ্দেশ্যে সত্যই কার্যকর হবে। প্যাটার্নটি মিলে যাওয়ার অংশটি ভাল হওয়া উচিত, আমি আউটপুট পরিবর্তন করার পদ্ধতিটি জানি না (পরীক্ষা নাক দিয়ে চালানো হচ্ছে)

উত্তর:


1

আপনি আপনার কমান্ডটি পাইপ করতে পারেন grep -C10000 -P --color pattern(বা, আপনার নির্দিষ্ট ক্ষেত্রে, grep -C10000 -P --color ".*$PWD.*")।

উদাহরণ স্বরূপ:

cat /proc/cpuinfo | grep -C10000 -P --color 'GHz|MHz'
  • হ্যাঁ, এটি বিড়ালের অকেজো ব্যবহার।
  • -C10000গ্রেপকে প্রসঙ্গের 10000 লাইন মুদ্রণ করতে বলে। সমস্ত লাইন গ্রেপ মুদ্রণ করতে যথেষ্ট বড় একটি সংখ্যা ব্যবহার করুন
  • |&আপনি যদি এসটিডিআরআরও ক্যাপচার করতে চান তবে ব্যবহার করুন

1
আপনি "^.*$PWD/.*$"যদি বর্তমান ডিরেক্টরিটি সহ পুরো লাইনটি হাইলাইট করতে চান তবে আপনার মিলের প্রয়োজন হতে পারে ।
এএফএইচ

ঠিক আছে, উত্তর আপডেট হয়েছে। জন্য কোন প্রয়োজন নেই ^এবং $যদিও। আমি চূড়ান্ত স্ল্যাশও সরিয়েছি।
ব্যবহারকারী 49740

2
আপনি egrep --color "$|^.*$PWD/.*$"-C10000 ব্যবহার এড়াতে সমস্ত লাইন গ্রেপ করতেও ব্যবহার করতে পারেন। এই পদ্ধতিতে egrepসমস্ত লাইন পাওয়া যাবে এবং পাওয়া মিলগুলি হাইলাইট করবে। তবে যেহেতু একটি EOL ($) 'দৃশ্যমান' নয় কেবল প্রকৃত অনুসন্ধানের ধরণটি রঙিন colored
ল্যামবার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.