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