Странно. Для меня обе работы вариантов (grep (GNU grep) 2.13):
grep 'foo\|321'
grep -E 'foo|321'
Редактирование 1 - показывает файлы с обоими соответствиями только
for file in *
ответьте на работы, но может стать кошмаром производительности (для больших сумм файлов): по крайней мере два процесса на файл. Это быстрее (в мире GNU):
find . -type f -print0 | xargs -0 -r grep --files-with-matches --null -- string1 |
xargs -0 -r grep --files-with-matches -- string2
string1 должен быть тем, который приводит к меньшему количеству соответствий.
ЭТО! -> https://github.com/ecraven/pinentry-emacs
Вам придется немного пошалить, но использование этой штуки сработало на меня. Поместите скрипт туда в каталог в вашем PATH
и затем добавьте следующую запись в ~/.gnupg/gpg-agent.conf
:
pinentry-program <path-to-pinentry-emacs>/pinentry-emacs
Затем перезагрузите агент:
$ echo RELOADAGENT | gpg-connect-agent
Работает как сон для меня :)
.Альтернативой, если у вас достаточно недавняя версия pinentry / gpg2 (протестированная с 0.9.7 и 2.1.11 соответственно в Arch Linux), можно использовать http://elpa.gnu.org/packages/pinentry .html .
Установите pinentry
из Mx list-packages
, затем поместите
allow-emacs-pinentry
в свой .gnupg / gpg-agent.conf
и вставьте
(setenv "INSIDE_EMACS" (format "%s,comint" emacs-version))
(pinentry-start)
в ваш .emacs.d / init.el
.
Мне пришлось поместить туда setenv, потому что, хотя INSIDE_EMACS устанавливается при запуске M-x shell
, он не устанавливается при простом открытии файла .gpg
.
Теперь gpg-agent использует обычную версию curses из терминала, а внутри Emacs - read-passwd
(который скрывает символы из приглашения и из view-lossage
) .
РЕДАКТИРОВАТЬ: Похоже, в пакете Debian есть патч для удаления поддержки Emacs, так что на данный момент это решение работает только для других дистрибутивов / людей, готовых самостоятельно компилировать pinentry.
В 2021 году вы можете использовать настройку pinentry-mode loopback
в ~/.gnupg/gpg.conf
после настройки агента gpg -и использования allow-loopback-entry
в ~/.gnupg/gpg-agent.conf