я имел необходимость выделения строк в текстовых файлах, а не найти способ, который подходит моим потребностям, поэтому я написал простую программу, C, чтобы раскрасить строки, соответствующие регулярные выражения.
Вы можете загрузить исходный код с GitHub:
git clone http://github.com/mbornet-hl/hl
затем:
cd hl/cr; make
Здесь использование:
hl: version 1.21
Usage: hl [-h|-eidD][-E][-rgybmcwRGYBMCW] regexp ...
-h : help
-v : version
-u : do not bufferize output on stdout
-e : extended regular expressions
-i : ignore case
-E : print on stderr
-r : red
-g : green
-y : yellow
-b : blue
-m : magenta
-c : cyan
-w : white
-R : red (reverse video)
-G : green (reverse video)
-Y : yellow (reverse video)
-B : blue (reverse video)
-M : magenta (reverse video)
-C : cyan (reverse video)
-W : white (reverse video)
-d : debug
-D : display regular expressions
Чтобы раскрасить слово "красный" в красном , а слово «синий» синим цветом, вам просто нужно ввести следующую команду:
echo "red blue red blue" | hl -r red -b blue
и вот пример, чтобы выделить вывод команды IFCONFIG:
hl -ei -m '^(eth|(vir)?br|vnet)[0-9.]*:[0-9]+\>' \
-b '^(eth|(vir)?br|vnet)[0-9.]*\.[0-9]+\>' \
-c '([0-9a-f]{2}:){5}[0-9a-f]{2}' \
-g '\<UP\>|\<RUNNING\>|([0-9]{1,3}\.){3}[0-9]{1,3}\>' \
-y '^(eth|(vir)?br|vnet)[0-9.:]*\>' \
-W '[0-9a-f]{4}::[0-9a-f]{4}\:[0-9a-f]{4}:[0-9a-f]{4}:[0-9a-f]{4}' \
-r ' (errors|dropped|overruns):[^0][0-9]*'
Порядок, в котором вы указываете цвет Важно: если строка соответствует несколько регулярных выражений, 1-ый, как более высокий приоритет, чем второй, второй - как более высокий приоритет, чем третий, и т. д.
Надеюсь, что это поможет.
'colout' может быть полезным в качестве окрашивающего раствора: http://nojhan.github.io/colout/' задать расширенное 'MALE | АВГУСТ' file.txt | colout MALE синий | colout AUGUST yellow' или если вам не нужно фильтровать текстовый поток, просто выделите его, вы можете сделать это с помощью 'colout MALE blue
user2683246
Также проверьте ответы на https://stackoverflow.com/questions/981601/colorized-grep-viewing-the-entire-file-with-highlighted-matches – ndemou