【发布时间】:2018-12-02 14:22:27
【问题描述】:
我正在尝试从完整路径中获取路径并将其复制到新列中,但我很难管理引号。 我有一列带有“/volume2/test/here it is/my file.avi”,我想在另一列中复制“my file.avi” (我也想要这条路,但我会在之后检查) 有人可以帮忙吗?
/usr/bin/psql -U postgres video_metadata -q -A -t -c \"""SELECT RIGHT(path, POSITION('\' in REVERSE(path)) -1 ) from video_file;""\""
但我有这个错误
syntax error near unexpected token `('
如果我尝试一些更清洁的东西,比如
/usr/bin/psql -U postgres video_metadata -q -A -t -c "SELECT RIGHT(path, POSITION('\' in REVERSE(path)) -1 ) from video_file;"
我有这个错误
ERROR: unterminated quoted string at or near "'\' in REVERSE(path)) -1 ) from video_file;"
LINE 1: SELECT RIGHT(path, POSITION('\' in REVERSE(path)) -1 ) from ...
【问题讨论】:
-
有什么问题:
psql -U postgres video_metadata -q -A -t -c "SELECT RIGHT(path, POSITION('\' in REVERSE(path)) -1 ) from video_file;"? -
开头有3个双引号,结尾有4个,这就是问题所在。顺便说一句,你有什么特殊原因要在 Linux 控制台上转义双引号
\"吗? -
为什么你的路径中有'\'?
-
我有一列包含完整路径,例如“/volume2/test/here it is/my file.avi”,我想在另一列中复制“my file.avi”(对于片刻之后,我会尝试一下路径:D)
-
使用此处的文档来解决(几乎)所有引用问题:stackoverflow.com/a/7820049/905902
标签: postgresql path copy quotes double-quotes