sed + jq :
sed -E "/^(---|[0-9][0-9])/d; s/'([^']+)'/\"\"/" tst.txt | jq -s '' out.json
-
/^(---|[0-9][0-9])/d- exclua as linhas desnecessárias que começam com---ou 2 dígitos -
s/'([^']+)'/\"\"/"- substitua um valor entre aspas simples por um valor JSON válido (entre aspas duplas) -
jq -s ''- em vez de executar o filtro para cada objeto JSON na entrada, leia todo o fluxo de entrada em uma matriz grande
O conteúdo out.json :
[
{
"auth": "log",
"appid": 21,
"custid": "599c1f910f53ada8468b4567",
"hwid": "59e719ba0f53adfd6a8b4597"
},
{
"auth": "log",
"appid": 21,
"custid": "599c1f910f53ada8468b4567",
"hwid": "59e719ba0f53adfd6a8b4597"
}
]