понимая sed, awk и вихревое взаимодействие, извлекающее ssh информация о URL из страницы GitHub

Вы на правильном пути, просто неправильная команда. Попробуйте:

  1. Включить sudo , установив App-admin / sudo .... Сделано
  2. Настройка Sudo Использование Visudo. Установите соответствующие варианты .... Надеюсь, сделано
  3. Использование Имя приложения Gksudo вместо имя GKSU .

В Gentoo Gksudo является частью пакета X11-Libs / Gksu , а фактическая страница человека находится в Page Gksudo Man . Как всегда, убедитесь, что флаг использования GNOME установлен.

-1
13.12.2014, 19:12
2 ответа

Поскольку эта команда возвращает строку JSON, я бы использовал анализатор JSON, JQ

url="https://api.github.com/users/USER/repos"
curl -s "$url" | jq '.[]|.ssh_url' | tr -d '"'

, который означает, что скрипт JQ означает для каждого элемента массива, дайте мне значение член «SSH_URL». Используйте TR для удаления двойных кавычек.

0
28.01.2020, 05:11
sed -n '/ssh_url/p'

распечатает все строки, которые содержат строку ssh_url. Это не то, для чего обычно используется sed. Это было бы сделано с помощью grep (а с использованием awk, awk может сделать это сам):

grep ssh_url

awk -F\" '/ssh_url/ {print $(NF-1)}'

-F\" означает, что awk разделяет содержимое строки на "" символы. NF - это количество полей, т.е. в этой строке есть NF-1 "" символы. печатает $(NF-1) печатает последнее, но не одно поле. Если строка имеет значение foo "bar "baz, то печатается bar.

1
28.01.2020, 05:11

Теги

Похожие вопросы