2015-03-27 2 views
0

У меня есть файл, и я прочитал его как:прочитать все содержимое файла и завернуть в одинарных кавычках

FILE=$(cat "/path/to/file") 

Этот файл содержит 4096 символов длиной случайной строку, наряду с некоторыми комментариями:

----- BEGIN KEY ---- 
2sd763jha8713kjshadi76a... 
------ END KEY ----- 

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

+0

'FILE = " '$ ( BRFennPocock

+1

Как вы используете' $ FILE'? Просто придерживайтесь одиночных кавычек вокруг переменной, когда вы ее используете (при условии, что вы делаете это в двойных кавычках, как и должно быть) будет работать. –

+1

@BRPocock Либо '\ '' ИЛИ ''' .. '"' не оба. –

ответ

5

Вы не можете обернуть произвольный текст в одинарные кавычки, чтобы сделать его безопасным JSON или JSON.

Используйте инструмент JSON вместо:

$ jq -s -R . file 
"----- BEGIN KEY ----\n2sd763jha8713kjshadi76a...\n------ END KEY -----\n" 
+0

, предлагая' jq', отлично здесь! – hek2mgl

Смежные вопросы