我想使用psql -F将选择查询转储到制表符分隔的文本文件。然而,这不起作用:如何使用psql设置制表符分隔符-F
psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
这使得分隔符文字\吨。我如何让它使用真正的标签呢?
我想使用psql -F将选择查询转储到制表符分隔的文本文件。然而,这不起作用:如何使用psql设置制表符分隔符-F
psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
这使得分隔符文字\吨。我如何让它使用真正的标签呢?
我认为你只需要使用一个文字标签。这是如何工作的取决于你的shell。你见过这个post?
在bash shell中,你可以用$'\t'
来做到这一点。
使用在你的问题的例子:
psql -Umyuser mydb -AF $'\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt
在Unix中,你也可以键入
ctrl-V tab
CTRL-V告诉终端不能解释下一个关键。
这也与回车(^ M)和许多其他特殊键就像箭头键
在情况下,如果有人找了如何做到这一点的交互shell: \f '\t'
谢谢!该线程帮助。我得到它使用'psql -Umyuser mydb -F $'\ t'--no-align -c“select * from mytable”-o/tmp/dumpfile.txt' – 2012-04-25 12:58:26
来自Jammie Forrest的评论非常有用。 fbarber也许可以将它添加到答案 – Dimitris 2013-03-11 14:09:38
我不得不添加'-A'来强制未对齐的输出。这可能已成为更新的psql版本中的一个要求。 – dland 2017-11-28 13:09:53