Как написать процедуру для выхода из двойных кавычек в строке JSON

  1. Найдите pid процесса pythonс помощью команды ps, pgrep.
  2. Получить файловый дескриптор 1 (stdout )или 2 (stderr )/proc/ ваш _python _pid /fd/{1,2 }.
  3. Я нашел похожий пост и ссылку :https://stackoverflow.com/questions/8994593/how-to-reroute-stdout-stderr-back-to-dev-tty

0
06.06.2019, 08:35
2 ответа

Предположительно, вы хотите экранировать только ", если ему не предшествует \.

echo ' bad \"  string"' | sed -E 's/([^\]|^)"/\1\\"/g'

Пояснение

Это будет соответствовать ", но только если ему предшествует [^\], который является «любым символом, кроме \» (или началом строки^). Однако, поскольку этот новый символ будет заменен сам, нам нужно захватить его в группе захвата (), а затем снова заменить его совпадением \1. В этом примере я использовал расширенные регулярные выражения с -Eдля простоты.

3
28.01.2020, 02:30
$ echo ' bad \"  string"' | perl -pe 's/(?<!\\)"/\\\"/g'
 bad \"  string\"
$ echo ' bad \"  string" """""""""' | perl -pe 's/(?<!\\)"/\\\"/g'
 bad \"  string\" \"\"\"\"\"\"\"\"\"
$ echo ' bad \"  string" """"""""" \"' | perl -pe 's/(?<!\\)"/\\\"/g'
 bad \"  string\" \"\"\"\"\"\"\"\"\" \"

Используя отрицательный ретроспективный просмотр, вы можете добиться этого.https://www.regular-expressions.info/lookaround.html

1
28.01.2020, 02:30

Теги

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