Função Zsh para imprimir json em shell

Achei o truque do Luis Nell para imprimir facilmente o json no shell ou no editor de código muito útil, então decidi portá-lo para minha configuração zsh como uma função.

Como pode ser útil para outra pessoa, aqui está o código. Pode ser compatível com bash e outros shells com alguns ajustes.

function pjson {
if [ $# -gt 0 ];
then
for arg in $@
do
if [ -f $arg ];
then
less $arg
| python -m json.tool
else
echo
"$arg" | python -m json.tool
fi
done
fi
}

Pode imprimir a partir de uma string cmdline arg ou um arquivo, e os argumentos podem ser misturados.

pjson '{"test": "test"}'
ou
pjson myjsonfile.json
ou mesmo
pjson '{"test": "test"}' myjsonfile.json funcionará.