একটি সমাধান যা কেবলমাত্র লগ- ফাইल्स নয়, সমস্ত ধরণের পাঠ্যকে রঙ করার জন্য কাজ করে এটি হ'ল পাইথন সরঞ্জাম, ' কলআউট '।
pip install colout
myprocess | colout REGEX_WITH_GROUPS color1,color2... [attr1,attr2...]
যেখানে রেগেক্সের গ্রুপ 1 এর সাথে মেলে এমন 'মাইপ্রোসেস' এর আউটপুটে কোনও পাঠ্য রঙ 1, রঙ 2 সহ গ্রুপ 2 ইত্যাদির সাথে বর্ণযুক্ত হবে etc.
উদাহরণ স্বরূপ:
tail -f /var/log/mylogfile | colout '^(\w+ \d+ [\d:]+)|(\w+\.py:\d+ .+\(\)): (.+)$' white,black,cyan bold,bold,normal
অর্থাত্ প্রথম রেজেক্স গোষ্ঠী (প্যারেনস) লগফাইলে প্রাথমিক তারিখের সাথে মেলে, দ্বিতীয় গ্রুপটি একটি পাইথন ফাইলের নাম, লাইন নম্বর এবং ফাংশনের নামের সাথে মেলে এবং তৃতীয় গ্রুপটি তার পরে আসা লগ বার্তার সাথে মেলে। এটির মতো দেখাচ্ছে:
নোট করুন যে রেখা বা রেখাগুলির অংশগুলি যা আমার কোনও রেগেক্সের সাথে মেলে না তা এখনও প্রতিধ্বনিত হয়, সুতরাং এটি 'গ্রেপ - রঙ' এর মতো নয় - আউটপুট থেকে কোনও কিছুই ফিল্টার হয় না।
স্পষ্টতই এটি যথেষ্ট নমনীয় যে আপনি এটি কোনও প্রসেসের সাথে ব্যবহার করতে পারবেন, কেবল লেগ-ফাইলে টেলিং নয়। আমি যখনই কোনও কিছু রঙিন করতে চাই তখন আমি সাধারণত ফ্লাইতে একটি নতুন রেইগেক্স হুইপ করি। এই কারণে, আমি যে কোনও কাস্টম লগফিল-কালারিং সরঞ্জামে কলআউট পছন্দ করি, কারণ আমি যে রঙটি রঙ করছি তা নির্বিশেষে আমার কেবল একটি সরঞ্জাম শিখতে হবে: লগিং, পরীক্ষার আউটপুট, টার্মিনালে কোডের স্নিপেটগুলি সিনট্যাক্স হাইলাইটিং ইত্যাদি etc.
sed
: স্ট্যাকওভারফ্লো.com