Curl, jq и sed

July 15, 2020 1 минута

    Сегодня делюсь этими инструментами командной строки linux. Считай их отправной точкой для изучения новых вещей.

    Для API-запросов использую curl.

    $ curl -X GET {rest_api} --header "Authorization: Token {token}"
    

    где {rest_api} - REST API и {token} - токен доступа. Обычно использую GET, POST и PATCH чтобы получить, создать и изменить/удалить данные JSON.

    curl вместе с jq отображают более красивый ответ.

    $ curl -X GET {rest_api} --header "Authorization: {token}" | jq .
    

    где jq . показывает целый объект.

    sed экономит мне много времени, когда мне нужно изменить несколько файлов, не открывая их по одному.

    $ sed -i 's+{source}+{target}+g' {file}
    

    где s - поиск, g - глобально и {file} - твой файл. {source} и {target} - твои изменения. Для поиска всех файлов в директории, замени {file} на *. Если нужен поиск одной линии, замени s на 15s, где 15 - номер линии.

    Можешь удалить целую линию, содержащая слово question.

    $ sed -i 's+.*question.*++g' {file}
    

    Играй. Познавай.