grep --color=always
का उपयोग करते समय मैं regex मैचों के लिए सुंदर रंग हाइलाइटिंग प्राप्त कर सकता हूं।रंग regex मिलान - छोड़ने के बिना
हालांकि, grep
केवल कम से कम एक मैच के साथ लाइनों को लौटाता है। इसके बजाए, मैं किसी भी मैचों के बिना लाइनों को छोड़ दिए बिना, अन्य सभी इनपुट अकेले छोड़ते समय रेगेक्स मैचों को हाइलाइट करने का एक तरीका ढूंढ रहा हूं।
मैंने sed
के साथ रंग काम करने की कोशिश की है, और grep
दस्तावेज पढ़ा है, लेकिन मुझे लगता है कि मैं जो चाहता हूं उसे प्राप्त नहीं कर सकता।
मामले में मेरी वर्णन नहीं है स्पष्ट है, मैं चाहता हूँ:
इनपुट:
- fred
- टेड
- लाल
- नेतृत्व
Regex:
आउटपुट "* लाल।":
- फ्रेड (लाल रंग में)
- टेड
- लाल (लाल रंग में)
- नेतृत्व
तो मैं कर सकता था:
list_stuff | color_grep "make_this_stand_out_but_dont_hide_the_rest"
संपादित करें:
मैं एक समाधान है, जो सुंदर नहीं है पाया है, लेकिन यह काम करता है:
के लिए धन्यवाद: http://www.pixelbeat.org/docs/terminal_colours/
विशेष रूप से स्क्रिप्ट (जो मैं संशोधित/सरलीकृत): http://www.pixelbeat.org/talks/iitui/sedgrep
function sedgrep()
{
C_PATT=`echo -e '\033[33;01m'`
C_NORM=`echo -e '\033[m'`
sed -s "s/$1/${C_PATT}&${C_NORM}/gi"
}
अभी भी ऐसा करने का एक आसान तरीका ढूंढ रहे हैं!
मैं बैश का उपयोग कर रहा हूं, लेकिन यह लगभग उसी प्रकार का समाधान है जैसा मैंने पोस्ट किया था। धन्यवाद! – mmocny