Postgres скопировать путь из полного пути с помощью команды linux

Я пытаюсь получить путь из полного пути и скопировать его в новый столбец, но мне сложно управлять кавычками. У меня есть столбец с «/ volume2 / test / вот он / 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;"?

Jim Jones 23.06.2018 10:07

У вас есть 3 двойные кавычки в начале и 4 в конце, вот в чем проблема. Кстати, есть ли у вас особая причина избегать двойных кавычек \" на консоли Linux?

Jim Jones 23.06.2018 10:11

почему у тебя на пути '\'?

Jasen 23.06.2018 10:34

У меня есть столбец с полным путем, например «/ volume2 / test / вот он / my file.avi», и я хочу скопировать в другой столбец только «my file.avi» (на данный момент, после, я дам это попытка только пути: D)

Nexius2 23.06.2018 11:07

Используйте здесь-документ, чтобы решить (почти) все проблемы с цитированием: stackoverflow.com/a/7820049/905902

wildplasser 23.06.2018 14:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
279
2

Ответы 2

Я думаю, вы имеете в виду следующее:

 /usr/bin/psql -U postgres video_metadata -q -A -t -c "SELECT RIGHT(path, POSITION('\' in REVERSE(path)) -1 ) from video_file;"

Я ответил в исходном сообщении, но он не работает с '\'

Nexius2 23.06.2018 11:08

выяснил .... Я перепутал путь к Windows ..... это должно быть '/', а не '\'

полная команда будет:

/usr/bin/psql -U postgres video_metadata -q -A -t -c "SELECT RIGHT(path, POSITION('/' in REVERSE(path)) -1 ) from video_file;"

Другие вопросы по теме