গ্রেপ - রঙ এএনএসআই কোড যুক্ত করেছে এসএসসি [কে - এটি প্রদর্শিত পাঠ্য পরিবর্তন করতে পারে


9

কেন গ্রেপ \e[Kতার রঙিন আউটপুটে এএনএসআই কোড যুক্ত করে ? আমি এর বিন্দুটি দেখতে পাচ্ছি না তবে স্পষ্টতই বিকাশকারীরা পারেন। এটি একটি এএনএসআই / ভিটি 100 টার্মিনাল কোড যা "বর্তমান কার্সার অবস্থান থেকে লাইন শেষ পর্যন্ত লাইন সাফ করার জন্য " ব্যবহৃত হয় ।

একটি সামঞ্জস্য ক্ষেত্রে, গ্রেপ টার্মিনাল প্রদর্শন থেকে পাঠ্য "অদৃশ্য" হতে পারে। উদাহরণ স্বরূপ:

echo -e "ab\rc"
echo -e "ab\rc" |grep --color=always "c"

সাধারণ প্রতিধ্বনি প্রদর্শন করে: cbতবে বর্ণযুক্ত প্রদর্শনটি দেখায়:c

অন্তর্নিহিত এনকোডযুক্ত পাঠ্যটি: echo -e 'ab\r\033[01;31m\033[Kc\033[m\033[K' তবে \e[Kকোডগুলি ছাড়াই echo -e 'ab\r\033[01;31mc\033[m'প্রত্যাশার মতো কাজ করে!

এই \e[Kকোডগুলিকে গ্রেপ অন্তর্ভুক্ত করার কারণ কী । আমি এর ওভারলেয়িং জন্য অনুমতি একটি স্ক্রিপ্ট লিখছি দ্বিতীয় colorizing পাস , হিসাবে: c=--color=always; ls $c /bin/gzip | grep $c 'z'। সুতরাং গ্রেপ কেন ব্যবহার করে তা আমার বুঝতে হবে \e[K

উত্তর:


11

GREP_COLORSপরিবেশের পরিবর্তনশীল সেট করে আপনি এই আচরণটি পরিবর্তন করতে পারেন :

export GREP_COLORS=ne
echo -e "ab\rc" | grep --color=always "c"

থেকে grepমানুষ পৃষ্ঠা:

          ne     Boolean  value  that prevents clearing to the end of line
                 using Erase in Line (EL) to Right  (\33[K)  each  time  a
                 colorized  item  ends.   This  is  needed on terminals on
                 which EL is not supported.  It  is  otherwise  useful  on
                 terminals  for  which  the back_color_erase (bce) boolean
                 terminfo capability  does  not  apply,  when  the  chosen
                 highlight colors do not affect the background, or when EL
                 is too slow or causes too much flicker.  The  default  is
                 false (i.e., the capability is omitted).

এটি প্রথম স্থানটিতে বাকী লাইনের ব্যাকগ্রাউন্ডটিকে সঠিক রঙে সেট করার জন্য করা হয়েছে, যদি এটির আগে পরিবর্তন করা হয়েছিল (যদিও এটি ডিফল্টরূপে তা নয়; কেউ নিজের সেটিংসে এটি স্থাপন করতে পারে)।

আপনি সেট করতে পারেন এমন অন্যান্য বিকল্পগুলির সাথে খেলতেও চাইতে পারেন GREP_COLORS; সম্পূর্ণ বিশদ জন্য ম্যান পৃষ্ঠা দেখুন।

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