Есть ли команда, которая выделяет определенное выражение в тексте?
Я ищу что-то вроде функции поиска в меньшем количестве, но с обычным выводом текста на стандартный вывод вместо less
просмотра.
Пример:
$ cat test.txt | highlight "an"
Перспективы на упорядоченный вывод НАТО из Afgh IST А.Н. пострадало два регресса как президент Хамид Карзай дем DED пределов войск Соединенных Штатов d Талиб остановил мирные переговоры.
Он может использовать цвет или любые другие средства, чтобы выделить указанное регулярное выражение.
bash
highlighting
Фрэнк
источник
источник
highlight
командыОтветы:
Не уверен, что это связано с функцией или просто каким-то скрытым побочным эффектом, но это работает в GNU
grep
2.11:источник
grep 'an' OR ''
.''
Успешно не совпадает ни с чем в любом месте на входе. Подсвечивается только тоan
, что ничего нельзя выделить. :-)grep --color -e 'an' -e ' '
(в соответствии с пробелом, который не может быть окрашен, сделал свое дело). Гораздо лучше, чем пайпингsed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, но, возможно, последний более производительный. Замените «an» на другой поисковый запрос. ;)bashrc
псевдонимов, и теперь все мои псевдонимы выделены красным. Супер!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
У ack есть
--passthru
опция, которая сделает это:источник
ack-grep
... (имяack
применяется к конвертеру кода Кандзи)Вы можете попробовать этот мой сценарий. Это позволит вам либо указать файл, либо он принимает стандартный ввод. Вы можете определить регулярное выражение Python для текста, который вы хотите выделить. выделенный текст по умолчанию неоновый зеленый (эй, я использую черный фон!), но вы можете изменить цветовой код ANSI .
Вот пример.
Перспективы на упорядоченный вывод НАТО из Afgh IST А.Н. пострадало два регресса как президент Хамид Карзай дем DED пределов войск Соединенных Штатов d Талиб остановил мирные переговоры.
Перспективы упорядоченного вывода НАТО из Афганистана потерпели две неудачи: президент Хамид Карзай потребовал ограничения на войска Соединенных Штатов, а талибы прекратили мирные переговоры.
источник
<b>
если вам нужно выделить жирным шрифтом часть слова.$cat test.txt | grep --colour=auto -C 100000 an
«цвет» тоже работает. Вы также можете определить псевдоним, чтобы grep всегда использовал опцию:
alias grep='grep --colour=auto -C 100000'
Поместите вышеупомянутое в /etc/profile.d/ где-нибудь или в свой .bashrc или что-то еще.
источник
-C 1000000
тобой никогда не удастся повторить. Просто выполнитеalias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
grep --colour = auto -C 100000 file`.grep
обрабатывает коллекцию контекстных строк.)