Prefiltrovani stderr
Matej Cepl
ceplma00 na yahoo.com
Pátek Listopad 23 19:21:54 CET 2001
Dobrý den,
používám mutt s abookem a mail.vim (contrib/mail.vim v abooku),
ale chtěl bych si udržovat databázi s háčkama, zatímco v adrese
by bylo lépe používat odháčkované texty.
Nahradil jsem všechna volání abook v mail.vim za czabook a
vytvořil jsem si tento skript czabook:
#!/bin/sh
abook $* | tr2 il2 ascii
Funguje to naprosto perfektně, pokud se jedná o vyhledávání
aliasu ve vimu (\aq), ale všechno to jaksi zkrachuje, když se
pokusím o využití vyhledání přímo v abooku a zadání do pole (\al
ve vimu a Q v abooku). Pokud tomu dobře rozumím tak problém je v
tom, že ten můj skriptík filtruje stdout a ne stderr, kde je
výstup z prvního příkazu v mail.vim. Nevíte někdo jak
přefiltrovat jenom stderr a nechat stdout na pokoji (navíc nevím
jestli je možné zasahování do stdout u interaktivního programu)?
Děkuji mockrát za jakoukoli pomoc
Matěj Cepl
--------------------------------------------
V tom mail.vim se jedná o tyto řádky:
--- mail.vim 2001/11/01 03:39:14 1.1
+++ mail.vim 2001/11/02 17:26:46 1.2
@@ -344,7 +344,7 @@
let f = tempname()
set paste
- silent exe '!abook 2> ' . f
+ silent exe '!czabook 2> ' . f
exe 'let addresses=system("cat ' . f . '")'
if "" == addresses
let b:AliasListMsg = "Nothing found to lookup"
@@ -388,7 +388,7 @@
return
endif
- silent exe 'let output=system("abook --mutt-query ' . lookup . '")'
+ silent exe 'let output=system("czabook --mutt-query ' . lookup . '")'
if v:shell_error
let b:AliasQueryMsg = output
return
Další informace o konferenci Linux