Для обработки JSON используйте инструмент JSON, например. jq(обычно это пакет в вашем дистрибутиве):
jq -j '.properties.id, ",", .([ .geometry.coordinates | recurse | numbers | tostring] | join(",")), "))\n"' < your_file
делает то, что вы хотите, для одной строки. Возможно, вам придется передать каждую строку отдельно, в зависимости от того, как на самом деле выглядит ваш файл.
Один из способов, возможно, единственный способ защитить конфиденциальную информацию — это НЕразрешать пользователям иметь ЛЮБОЙпрямой доступ к ней. , либо на своих личных машинах, либо на центральном сервере.
Например:
sudo
. Это не нужно запускать от имени пользователя root, достаточно выделенного пользователя без полномочий root.ssh servername sudo myscript.sh
), потому что это единственное место, где у вас есть шанс сохранить контроль доступа.Один из способов с использованием SUID.
Дайте разрешение на выполнение только для группы и других в сценарии оболочки и информационном файле.
Напишите программу-оболочку C для вызова сценария оболочки.
Установите бит SUID в исполняемом файле C. (chmod файл u+s)
Конечный пользователь будет вызывать исполняемый файл C.
Простым вариантом является шифрование/дешифрование вторичного файла. Способы сделать это рассмотрены здесь-https://serverfault.com/questions/489140/what-is-a-good-solution-to-encrypt-some-files-in-unix
Обратите внимание, что, прочитав сценарий, можно легко получить ключ и изучить используемый метод шифрования, если только сам сценарий не является фактически скомпилированным кодом, хотя даже в этом случае он не является неуязвимым, поскольку его можно декомпилировать. Если это скомпилированный языковой код, в большинстве языков есть способ вызывать сценарии шифрования/дешифрования, и вы можете хранить только зашифрованную версию хранилища.