Я написал небольшой Perl-скрипт для извлечения всех значений из строки в формате JSON для заданного имени ключа (показано ниже). Итак, если я установлю переключатель командной строки для Perl-скрипта на id, он вернет 1,2 и stringVal из приведенного ниже примера JSON. Этот сценарий выполняет свою работу, но я хочу посмотреть, как другие решат ту же проблему, используя другие инструменты в стиле Unix, такие как awk, sed или perl. Спасибо
{
"id":"1",
"key2":"blah"
},
{
"id":"2",
"key9":"more blah"
},
{
"id":"stringVal",
"anotherKey":"even more blah"
}
Фрагмент Perl-скрипта, извлекающего значения JSON:
my @values;
while(<STDIN>) {
chomp;
s/\s+//g; # Remove spaces
s/"//g; # Remove quotes
push @values, /$opt_s:([\w]+),?/g; # $opt_s is a command line switch for the key to find
}
print join("\n",@values);