Управлять что выделения regex в тексте?

Да. Можно использовать графический инструмент как GParted, чтобы настроить все разделы и затем продолжить стандартную Дугу установка USB оттуда.

Вы найдете инструкции относительно того, как создать Живую Карту памяти GParted здесь

Я затем рекомендовал бы выбрать недавний ISO из сайта Arch Releng

После того как Вы вернулись в процессе установки Arch, выберите раздел, файловую систему и точки монтирования, Вы требуете и продолжаете установку

14
16.03.2012, 00:39
4 ответа

Не уверенный, если это происходит из-за функции или просто некоторого скрытого побочного эффекта, но это работает в GNU grep 2.11:

grep --color 'an\|' test.txt
17
27.01.2020, 19:50
  • 1
    Это похоже, Вы делаете grep 'an' OR ''. '' успешно соответствия ничто в каждом местоположении во входе. Только an выделяется, потому что Вы не можете выделить ничто. :-) –  Mikel 24.05.2012, 23:43
  • 2
    Чистый гений. Это не работало на меня, но grep --color -e 'an' -e ' ' (соответствие для пространства, которое не может быть окрашено, добилось цели). Путь лучше, чем передача по каналу к sed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/'', но возможно последний более производителен. Изменитесь для другого критерия поиска. ;) –  sjas 01.04.2015, 14:41
  • 3
    Ничего себе! Я использовал это для изменения команды, я раньше перечислял все bashrc псевдонимы и теперь все мои псевдонимы выделяются в красном. Супер! alias aliases="clear;cat ~/.bashrc|grep --color \"alias\"" –  Nav 28.10.2015, 10:14

ack имеет a --passthru опция, которая сделает это:

ack --passthru an test.txt
some_command | ack --passthru an -
9
27.01.2020, 19:50
  • 1
    (+1) btw: в Ubuntu repo, называют пакет (и исполняемый файл) ack-grep ... (имя ack применяется к преобразователю кода Кандзи), –  Peter.O 16.03.2012, 01:31

Можно испытать этот мой сценарий. Это позволит Вам или указать файл, или это берет стандартный вход. Можно определить регулярное выражение Python для текста, который Вы хотите выделить. выделенные текстовые значения по умолчанию к неоновому зеленому (эй я использую черный фон!), Но можно изменить цветовой код ANSI.

#!/usr/bin/env python

import sys
import re

def highlight_text(text,pat):
    def replacement_funk(matchobj):  return '\x1b[42m%s\x1b[0m'%matchobj.group(0)
    return re.sub(pat,replacement_funk,text)

if __name__ == '__main__':
    if len(sys.argv) == 2:
        input = sys.stdin
        pat = sys.argv[1]
    elif len(sys.argv) == 3:
        input = open(sys.argv[2])
        pat = sys.argv[1]
    else:
        sys.stderr.write("colorme pattern [inputfile]")
    text = input.read()
    print highlight_text(text,pat)

Вот пример.

blessburn@blessburn:/tmp$ cat test.txt | ./colorme.py an

Перспективы организованного вывода войск НАТО из Афганистана перенесли две неудачи, поскольку президент Hamid Karzai потребовал пределов на войска Соединенных Штатов, и Талибан остановил мирные переговоры.

blessburn@blessburn:/tmp$ ./colorme.py '(Af.*? |NA[\w]{2})' test.txt

Перспективы организованного вывода войск НАТО из Афганистана перенесли две неудачи, поскольку президент Hamid Karzai потребовал пределов на войска Соединенных Штатов, и Талибан остановил мирные переговоры.

2
27.01.2020, 19:50
  • 1
    stackexchange полужирная разметка кажется броской и вот почему вывод, имеет дополнительные звезды. бьет меня. –  fthinker 16.03.2012, 08:05
  • 2
    Использовать <b> если Вам нужно к полужирной части слова. –  cjm 16.03.2012, 09:10

$cat test.txt | grep --colour=auto -C 100000 an

"окрасьте" также работает. Можно также определить псевдоним, чтобы заставить grep всегда использовать опцию:

alias grep='grep --colour=auto -C 100000'

Поместите вышеупомянутое в/etc/profile.d/где-нибудь или Ваш .bashrc или что бы то ни было.

0
27.01.2020, 19:50
  • 1
    Тот единственные согласующие отрезки длинной линии печати. Frank хочет целый текст, только с выделенными соответствиями. –  cjm 16.03.2012, 01:14
  • 2
    Добавленный-C к вышеупомянутому - это работает, но немного грязно! –  gerdesj 16.03.2012, 01:22
  • 3
    Это работает, но Вы не должны создавать псевдоним, названный grep. С -C 1000000 Вы никогда не смочь к grep снова. Просто сделайте alias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary: grep - файл colour=auto-C 100000'. –  Matteo 16.03.2012, 08:19
  • 4
    Интересно, сколько памяти это собирается использовать на большом файле. (Я никогда не изучал как grep обрабатывает набор строк контекста.) –  cjm 16.03.2012, 09:13

Теги

Похожие вопросы