У меня есть следующие записи:Разделительные выходных записей в AWK без завершающего разделителя
31 Stockholm
42 Talin
34 Helsinki
24 Moscow
15 Tokyo
И я хочу, чтобы преобразовать его в формат JSON с AWK. Используя этот код:
#!/usr/bin/awk
BEGIN {
print "{";
FS=" ";
ORS=",\n";
OFS=":";
};
{
if (!a[city]++ && NR > 1) {
key = $2;
value = $1;
print "\"" key "\"", value;
}
};
END {
ORS="\n";
OFS=" ";
print "\b\b}";
};
дает мне это:
{
"Stockholm":31,
"Talin":42,
"Helsinki":34,
"Moscow":24,
"Tokyo":15, <--- I don't want this comma
}
Проблема заключается в том, что Запятая на последней строке данных. Это делает вывод JSON неприемлемым. Как я могу получить этот вывод:
{
"Stockholm":31,
"Talin":42,
"Helsinki":34,
"Moscow":24,
"Tokyo":15
}
Я рад, что вы задали этот вопрос, учась использовать awk, так как @ ed-morton и его блестящий взлом обработки разделителя записей заставили лампочку погасить мою связанную с этим проблему. –