* [room] emacs shell command = grep ?
@ 2009-02-09 16:40 Michael Bykov
2009-02-24 11:29 ` Alexey Voinov
0 siblings, 2 replies; 3+ messages in thread
From: Michael Bykov @ 2009-02-09 16:40 UTC (permalink / raw)
To: Культурный
офтопик
как грепнуть что-то в емаксе?
мне нужно выполнить цепочку команд, последняя - grep. Как грепу
передать высвеченный регион? В руководстве прямо про grep примера нет.
Вот из руководства: высвечиваем регион, (пусть слово word), затем
выполняем произвольную команду по M-|:
M-| cat <RET> --> word.
M-| gpg <RET> - корректно работает. (В gpg регион передается).
M-| ls <RET> --> правильно отдает список файлов (регион на ls не влияет).
а как выполнить команду
M-| ls | grep <RET> ? ---> ошибка.
здесь регион не передается почему-то. Голову сломал :(
М.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [room] emacs shell command = grep ?
@ 2009-02-10 12:08 ` Evgenii Terechkov
0 siblings, 0 replies; 3+ messages in thread
From: Evgenii Terechkov @ 2009-02-10 12:08 UTC (permalink / raw)
To: smoke-room
Michael Bykov пишет:
> Евгений,
> попытаюсь еще раз.
> Есть последовательность команд, последняя - grep.
> Нужно ее выполнить, причем параметр - то слово, которое высвеченно.
> Например, высвеченно 'word'. Нужно сделать ls | grep word.
> В руководстве сказано, что stdin передается в command по-умолчанию.
> Да, передается. Например в cat или в gpg. Почему не передается в grep?
Читайте внимательно: "stdin". Это не command line
arguments.
> Проще всего - высветите любое слово и сделайте
> M-| ls | grep <RET>.
> вы увидите ошибку.
Никакой ошибки - читайте внимательно документацию.
> Как записать цепочку ls | grep чтобы туда попало значение word?
> Как написать такую цепочку команд?
Надо писать код, из коробки этого я не вижу. Например, вот такой:
(defun shell-command-and-grep-by (command start end)
(interactive "sCommand:\nr")
(shell-command (format "%s | grep -e %s" command
(buffer-substring-no-properties start end))))
Далее поправьте по вкусу.
P.S.: с таки лучше в xmpp://emacs@conference.jabber.ru
--
С уважением, Терешков
Евгений.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [room] emacs shell command = grep ?
2009-02-09 16:40 [room] emacs shell command = grep ? Michael Bykov
@ 2009-02-24 11:29 ` Alexey Voinov
1 sibling, 0 replies; 3+ messages in thread
From: Alexey Voinov @ 2009-02-24 11:29 UTC (permalink / raw)
To: smoke-room, m.bykov
Michael Bykov <m dot bykov at gmail dot com> writes:
> как грепнуть что-то в емаксе?
>
> мне нужно выполнить цепочку команд, последняя - grep. Как грепу
> передать высвеченный регион? В руководстве прямо про grep примера нет.
>
> Вот из руководства: высвечиваем регион, (пусть слово word), затем
> выполняем произвольную команду по M-|:
>
> M-| cat <RET> --> word.
>
> M-| gpg <RET> - корректно работает. (В gpg регион передается).
>
> M-| ls <RET> --> правильно отдает список файлов (регион на ls не влияет).
>
> а как выполнить команду
>
> M-| ls | grep <RET> ? ---> ошибка.
>
> здесь регион не передается почему-то. Голову сломал :(
Не усложняй. :)
Выполни сначала M-! ls, выдели что нужно (хоть всё), и потом M-! grep
Можно, конечно, выпендриться, и чуть-чуть обернуть
shell-command-on-region, чтобы при пустом выделении оно посылало на
вход весь буфер.
--
Alexey Voinov
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-02-24 11:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-09 16:40 [room] emacs shell command = grep ? Michael Bykov
2009-02-10 12:08 ` Evgenii Terechkov
2009-02-24 11:29 ` Alexey Voinov
Культурный офтопик
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
public-inbox-index smoke-room
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.smoke-room
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git