Формирование запроса на выборку в Bash - PullRequest
0 голосов
/ 03 декабря 2018

Извините, если об этом спрашивали раньше, но я не могу заставить это работать.Я просто хочу добавить одиночную кавычку в начало строки и одинарную кавычку и запятую в конце строки в файле.

Я пытаюсь получить что-то вроде этого:

выберите что-то из DBNAME, где VALUE in ('ONE',

'TWO',

'THREE',

Но что я получаюэто:

выберите что-то из DBNAME, где VALUE in ('ONE

',

'TWO

',

'THREE

',

Это мой код:

echo "select something from DBNAME where VALUE in (" > /path/to/file.sql
sed 's/^/\x27/g; s/$/\x27,/g' /path/to/one/two/three/file.txt
cat /path/to/one/two/three/file.txt >> /path/to/file.sql

содержимое /path/to/one/two/three/file.txtкак вы уже догадались:

ONE

TWO

THREE

1 Ответ

0 голосов
/ 03 декабря 2018
$ cat file
ONE
TWO
THREE

$ awk '
    BEGIN { printf "select something from DBNAME where VALUE in (" }
    { print "\047" $0 "\047," }
' file
select something from DBNAME where VALUE in ('ONE',
'TWO',
'THREE',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...