Не удаляйте пробелы из `значения` в уменьшенном json - PullRequest
0 голосов
/ 20 апреля 2020

Некоторая группа: - Я не могу использовать jq или другое решение python / ruby, и мне нужно использовать только bash (POSIX)

У меня есть json в следующем формате: -

{
    "argumets": {
        "arg1": "-write -nrFiles 1000 -size1000",
        "arg2": "-read -nrFiles 1000 -size1000",
        "arg3": "-clean"
    }
}

Я использую эту команду tr для минимизации json: -

tr -d '[:space:]' < input_json.file > output_json.file

И это вывод, который я получаю: -

{"argumets":{"arg1":"-write-nrFiles1000-size1000","arg2":"-read-nrFiles1000-size1000","arg3":"-clean"}}

Здесь я теряю место на value стороне, как -write-nrFiles1000-size1000

Какие-либо другие предложения или улучшения, которые я могу сделать, чтобы избежать вышеупомянутого сценария?

1 Ответ

0 голосов
/ 20 апреля 2020

Вот решение, которое я разработал для моей проблемы. Надеюсь, это поможет и другим.

awk '{$1=$1;print}' file.json | sed 's/: /:/' | tr -d '\n'

Отдайте должное нескольким ответам / комментариям на stackoverflow, которые мне помогли: -

https://unix.stackexchange.com/a/205854/404618

Не удаляйте пробелы из `значения` в минимизированном json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...