AppStore: удалить бесплатную пробную версию из подписки

Использование Bash с Python

Создайте функцию bash в вашем файле .bash_rc

function getJsonVal () { 
    python -c "import json,sys;sys.stdout.write(json.dumps(json.load(sys.stdin)$1))"; 
}

Затем

$ curl 'http://twitter.com/users/username.json' | getJsonVal "['text']"
My status
$ 

Вот такая же функция, но с проверкой ошибок.

function getJsonVal() {
   if [ \( $# -ne 1 \) -o \( -t 0 \) ]; then
       cat <<EOF
Usage: getJsonVal 'key' < /tmp/
 -- or -- 
 cat /tmp/input | getJsonVal 'key'
EOF
       return;
   fi;
   python -c "import json,sys;sys.stdout.write(json.dumps(json.load(sys.stdin)$1))";
}

Где $ # -ne 1 обеспечивает как минимум 1 вход, а -t 0 убедитесь, что вы перенаправляетесь из канала.

Приятное вещь об этой реализации заключается в том, что вы можете получить доступ к вложенным значениям json и получить json взамен! =)

Пример:

$ echo '{"foo": {"bar": "baz", "a": [1,2,3]}}' |  getJsonVal "['foo']['a'][1]"
2

Если вы хотите быть действительно фантастическим, вы могли бы довольно распечатать данные:

function getJsonVal () { 
    python -c "import json,sys;sys.stdout.write(json.dumps(json.load(sys.stdin)$1, sort_keys=True, indent=4))"; 
}

$ echo '{"foo": {"bar": "baz", "a": [1,2,3]}}' |  getJsonVal "['foo']"
{
    "a": [
        1, 
        2, 
        3
    ], 
    "bar": "baz"
}
0
задан Marcus 25 March 2019 в 05:04
поделиться