Как я могу сделать регистрацию быстрых клавиш на ключевом выпуске, а не на нажатии клавиши?

На странице man grep:

grep ищет именованные входные ФАЙЛЫ (или стандартный ввод, если ни один файл не назван, или если в качестве имени файла указан один дефис-минус (-)) для строк, содержащих совпадение с данным PATTERN.

Насколько я знаю, grep не имеет возможности редактировать строки, которые он соответствует; Для этого я использовал бы sed или, возможно, tr. Любое из следующего должно получить то, что вы хотите:

cat /var/log/dpkg.log | grep 'remove' | sed 's/.*remove \([^:]*\):.*/\1/'
cat /var/log/dpkg.log | grep 'remove' | sed -E 's/.*remove ([^:]*):.*/\1/'
cat /var/log/dpkg.log | sed -n '/remove/s/.*remove \([^:]*:\).*/\1/p'
cat /var/log/dpkg.log | sed -nE '/remove/s/.*remove ([^:]*):.*/\1/p'

Я честно не уверен, что ваш (?<=remove)(.*?)(?=:) пытается выполнить. В регулярном выражении скобки используются для определения групп захвата: вы можете видеть, что я использовал их в командах sed здесь - там все согласованное будет заменено содержимым группы захвата /1, первая группа - быть определено.

1
задан 15 May 2016 в 19:59

0 ответов

Другие вопросы по тегам:

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