क्रेप \e[K
अपने रंगीन आउटपुट में ANSI कोड क्यों जोड़ता है ? मैं इसे देख नहीं सकता, लेकिन जाहिर है कि डेवलपर्स कर सकते हैं। यह एक ANSI / VT100 टर्मिनल कोड है जिसका उपयोग "वर्तमान कर्सर स्थिति से लाइन के अंत तक स्पष्ट रेखा" के लिए किया जाता है ।
फ्रिंज मामले में, grep टर्मिनल डिस्प्ले से "गायब" हो सकता है। उदाहरण के लिए:
echo -e "ab\rc"
echo -e "ab\rc" |grep --color=always "c"
सरल गूंज प्रदर्शित करता है: cb
, लेकिन colorized प्रदर्शन से पता चलता है: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
कोड के grep को शामिल करने का क्या कारण है । मैं दूसरी स्क्रिप्टिंग पासिंग के ओवरलेइंग की अनुमति के लिए एक स्क्रिप्ट लिख रहा हूं , जैसे c=--color=always; ls $c /bin/gzip | grep $c 'z'
:। इसलिए मुझे यह समझने की आवश्यकता है कि grep क्यों उपयोग करता है \e[K
।