From 59d287586f502a8df71c2e91899fde49594e072e Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Sun, 7 Oct 2018 18:54:39 +0200 Subject: [PATCH] kamctl: make jsonrpc filter portable The filter has a regex looking for a literal '{' in the beginning of a line. Some awk implementations interpret this as a meta character, so the regex is deemed broken. Example with busybox awk (POSIX): root@hank2:~# kamctl ps awk: bad regex '^{.+"id"[ ]*:[ ]*[0-9]+[ ]*}$': Invalid contents of {} root@hank2:~# To fix this enclose the character in square brackets. This always matches for a literal '{' and is portable. Signed-off-by: Sebastian Kemper --- utils/kamctl/kamctl.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/kamctl/kamctl.base b/utils/kamctl/kamctl.base index adeceb77fbd..a776e10d825 100644 --- a/utils/kamctl/kamctl.base +++ b/utils/kamctl/kamctl.base @@ -715,7 +715,7 @@ filter_json() $AWK 'function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s } BEGIN { line=0; IGNORECASE=1; } { line++; } - NR == 1 && /^{.+"id"[ \t]*:[ \t]*[0-9]+[ \t]*}$/ { print; next; } + NR == 1 && /^[{].+"id"[ \t]*:[ \t]*[0-9]+[ \t]*}$/ { print; next; } NR == 1 && /^200 OK/ { next; } /^[ \t]*"jsonrpc":[ \t]*"2.0"/ { print; next; } /^[ \t]*"result":[ \t]*\[.+/ {