как преобразовать текстовый файл в json string (замените newlines на "\n")

Использование grep с PCRE ( -P ):

% grep -Po '(^|\s)SSID:\s\K[^,]+' file.txt

Пример:

% grep -Po '(^|\s)SSID:\s\K[^,]+' <<<'SSID: Home, BSSID: aa:bb:cc:dd:ee:ff'
Home
6
02.08.2018, 17:21
2 ответа

Вместо echoвы можете использовать jqинструмент анализа JSON:

jq -r. < file.js > file.txt

Преимущество также заключается в удалении закрывающего "и превращении \"в ".

Преобразование обратно в строку JSON:

jq -Rs. < file.txt > newfile.js

Для более общего вопроса о преобразовании новых строк в \nвы можете использоватьperl:

perl -pe 's/\n/\\n/'

Разница с sed 's/\n/\\n/', которая не будет работать, заключается в том, что perlвключает завершающую новую строку в запись, с которой работает s, но не sed.

15
27.01.2020, 20:21

В stackoverflow есть решение .

Здесь вы должны использовать:

sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' file.txt > value.js
3
27.01.2020, 20:21

Теги

Похожие вопросы