Я пытаюсь преобразовать LDIF в JSON, используя awk.
Не могу понять, как печатать до и после каждой многострочной записи.Может печатать в НАЧАЛЕ и КОНЕЦ один раз или до и после каждой строки.Но никогда до и после каждой записи.
Фактический ввод LDIF в awk:
dn: CN=foo
objectClass: top
dn: CN=bar
objectClass: top
Для преобразования в JSON awk необходим вывод, который должен выглядеть следующим образом:
{
"dn": "CN=foo",
"objectClass": "top"
}
{
"dn": "CN=bar",
"objectClass": "top"
}
Скрипт 1 заключает в каждую строку записи фигурные скобки.
BEGIN {
RS="\n\n#";
FS=": ";
}
print "{"
{
print "\""$1"\": \""$2"\",";
}
print "}"
Скрипт 2 переносит все записи в набор фигурных скобок:
BEGIN {
RS="\n\n#";
FS=": ";
print "{"
}
{
print "\""$1"\": \""$2"\",";
}
END{
print "}"
}
Похоже только на awkимеет BEGIN, END и неявный цикл по записям (однострочный или многострочный).Я не могу понять, как напечатать что-нибудь до и после каждой многострочной записи.Это возможно в awk?Есть ли лучший способ конвертировать LDIF в JSON?
Как бы выглядел сценарий awk, а не одна строка, который конвертирует LDIF в JSON?