Ошибка вывода psql трубы в grep - PullRequest
0 голосов
/ 08 июня 2018

Я выполняю запрос psql примерно так:

$ psql --file=foo.sql "BAR-DB"

Где foo.sql содержит запрос.foo.sql имеет неверный синтаксис, поэтому выводится список сообщений об ошибках.Мой план состоял в том, чтобы направить вывод в grep, чтобы я мог отфильтровать определенные сообщения об ошибках, но

$ psql --file=foo.sql "BAR-DB" | grep PATTERN

, похоже, ничего не делает.Документация psql показывает необязательный флаг:

-o, --output=FILENAME    send query results to file (or |pipe)

, но я не уверен, как использовать его для передачи вывода в grep.Какой правильный синтаксис?

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете перенаправить stderr из psql в stdout и затем перенаправить его в grep:

psql --file=foo.sql "BAR-DB" 2>&1 | grep -- PATTERN
...