উত্তর:
এর সাথে --color=auto
, গ্রেপ মেলানো স্ট্রিংগুলি হাইলাইট করবে যদি (এবং কেবলমাত্র) আউটপুটটি সরাসরি টার্মিনালে লিখিত হয় এবং বলে যে টার্মিনাল রঙিন আউটপুট প্রদর্শন করতে সক্ষম।
সাধারণত, --color=auto
আপনি চান কি। যদি, উদাহরণস্বরূপ, আপনি কোনও ইউআরএল মেলানোর জন্য গ্রেপ ব্যবহার করেন এবং এটিকে ওয়াজেটে পাইপ করেন \e[1;31mhttp://...
তবে আসল ইউআরএলের পরিবর্তে উইজেট দেখতে পাবেন (এবং এটির উপরে চাপ দিন)।
নিম্নলিখিত আদেশগুলি রঙিন আউটপুট হতে হবে:
echo Super User | grep --color=auto Super
echo Super User | grep --color=always Super | cat
এই আদেশটি অবশ্য করা উচিত নয়:
echo Super User | grep --color=auto Super | cat
এই আচরণের সাথে কোনও অসঙ্গতি একটি বাগ হিসাবে বিবেচনা করা উচিত।
সাথে --color=auto
, উইন্ডোজ সংস্করণের জন্য সর্বশেষ গ্রেপ (2.5.4) - পাশাপাশি মূল 2.5.4 এর উপর ভিত্তি করে - আউটপুটটি রঙ করুন যদি এবং শুধুমাত্র শর্ত থাকে
isatty(STDOUT_FILENO) && getenv("TERM") && strcmp(getenv("TERM"), "dumb")
সত্য, অর্থাত্ যদি এবং কেবলমাত্র যদি আউটপুট টার্মিনালে লেখা হয়, পরিবেশের পরিবর্তনশীলTERM
সংজ্ঞায়িত হয় এবং টার্মিনাল বোবা হয় না ।
এটি উইন্ডোজের অধীনে পছন্দসই আচরণ তৈরি করে না, যেহেতু TERM
সাধারণত সংজ্ঞায়িত হয় না। এই সমস্যার সহজ সমাধান হ'ল TERM=windows
নিয়ন্ত্রণ প্যানেলে সেটিংস স্থাপন করা ।
গ্রেপ (2.14) এর সর্বশেষতম সংস্করণটি যদি শর্তটি থাকে এবং শুধুমাত্র যদি আউটপুটটিকে রঙ করে এই সমস্যাটিকে ঠিক করে দেয়
isatty(STDOUT_FILENO) && should_colorize()
সত্য, যেখানে should_colorize()
পসিক্স এবং উইন 32 এর জন্য আলাদাভাবে সংজ্ঞায়িত করা হয়েছে:
পূর্বেরদের জন্য, শর্তটি 2.5.4 এর একটির সমান; পরবর্তীকালের জন্য, পরিবেশগত পরিবর্তনশীল TERM
সেট করতে হবে না (এটি কেবল হতে পারে না dumb
)।
sdgstd.h
, istty(stdout)
ফেরৎ 0
যদি আউটপুট একটি ফাইল থেকে আপনাকে পুনঃনির্দেশিত করা হয়।
grep
এবং less
GnuWin প্রকল্প থেকে (gnuwin32.sourceforge.net)। ইউটিলিটি cmd.exe
সহ উন্নত করা হয় ansicon
। less --color=auto
প্রত্যাশিত হিসাবে কাজ করে: কোনও পুনর্নির্দেশ প্রয়োগ না করা হয় এবং আউটপুট পুনঃনির্দেশিত হয় না যখন রঙ ব্যবহার করে। তবে grep --color=auto
উভয় ক্ষেত্রেই পালানোর সিকোয়েন্সগুলি মুদ্রণ করে না।