Intereting Posts
Как извлечь журналы между двумя отметками времени, строка может начинаться с даты и времени Неустранимая ошибка при попытке обнаружить подкачку IP локального хоста Как установить mono's System.Windows.Forms на Ubuntu? libssl и libcrypto обратно совместимы? Значение различных параметров, используемых при запуске сценария оболочки Как изменить размер LVM в Fedora 17? У меня есть видеокарта ATI Radeon HD 6300; что я использую, radeon или radeonhd driver? Как добавить пользовательскую команду в правое меню определенных файлов в nautilus? Сервер вниз и требует ручной fsck. Я видел эту ошибку в dmesg Как исключить символическую ссылку в rsync / rsnapshot Как изменить заголовок команды при запуске сервера? Получение или клонирование текущего терминала пользователей? искать шаблон и всегда печатать первую строку, содержащую cn Ограничьте приложения для доступа к определенному оборудованию (веб-камера, микрофон …)

Почему я не могу подключиться?

Поэтому я пытаюсь использовать grep для извлечения некоторых вещей из журнала Mercurial и пытается избежать использования awk чтобы увидеть, могу ли я обойтись без него и не получится, потому что ни grep ни egrep поддерживают полное современное регулярное выражение.

Так происходит с grep:

 $ hg log <filename> | grep changeset changeset: 3651:d23495ab1168 changeset: 2974:6aa71cb2c575 changeset: 2756:9dd7fb635678 changeset: 2532:d3ced9af4d6c changeset: 2459:9d5f5553b851 changeset: 1835:4558836beed1 changeset: 1628:517d0239e830 changeset: 1486:114bce51254d changeset: 1378:2b968e7fbd19 changeset: 1374:4e7772e48d00 

Это то, что я хочу с точки зрения результатов. Но чтобы улучшить поддержку регулярных выражений, я попытался сделать это с помощью ack , aaaand …. ничего. Что мне не хватает? Проверял кучу примеров и не вижу разницы в том, что я здесь делаю.

 $ hg log <filename> | ack changeset $ 

Нет выхода.

Может быть, я неправильно понимаю этот инструмент? egrep тоже не имел достаточной поддержки. Я просто хочу использовать \s 🙁

Видел это на странице документации ack, может быть, это поможет?

  --[no]filter Force ack to treat standard input as a pipe (--filter) or tty (--nofilter) 

попробуйте ввести

 awk '/changeset/ {print}' 

ack – это пакет по умолчанию, установленный в дистрибутивах на основе Debian. Если вы увидите такое сообщение, когда вы запустите ack -h вам нужно использовать ack-grep или выполнить шаг в http://beyondgrep.com/install/ при переименовании ack-grep в дистрибутивах, созданных Debian

Попробуйте hg log <filename> | ack-grep changeset hg log <filename> | ack-grep changeset чтобы увидеть, правильно ли установлен ack-grep.