LINUX.ORG.RU

psql & pipe


0

0

Вобщем ситуция такая - мне нужно фильтровать то что возвражщает psql
( консоль от Постгреса ) на предмет ошибок. Делаю так:
$ psql -U user -d db -f initdb.sql | check
, где check перловый скрипт след содержания:

#!/usr/bin/perl -w
while(<>)
{
if ( $_ =~ /ERROR:/ ) { print; }
}

Вобщем почему-то не отфильтровывает сообщения с NOTICE, хотя такая
фигня работает правильно:

$ printf "shgERROR:skjb\nksjbkjsbk\n" | check

Где собака порылась?
★★

Может, он куда-нить в stderr пишет? Ты-то stdout отдал на фильтр...

Попробуй psql > файло и погляди, будут ли там эти errorы. Потом psql 2> аналогично. И если будут, что bash -- как stderr отдать пайпу...

С уважением -- Смоляное Чучелко

anonymous
()

Так и есть! Спасибо за помощь.

PETER ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.