Фильтрация содержимого команды с помощью grep

Я пытаюсь отфильтровать вывод ssh-keyscan. Целью этого является фильтрация вывода, чтобы я мог использовать его в своем коде Python для идентификации хостов, подключенных к моей VPN. Обычно я бы использовал grep для фильтрации, один из моих grep фильтрует правильно, а другой нет. Первый grep работает, чтобы получить только идентификатор ed25519, но не уверен, почему я также получаю строки SSH-2.0.... Команда, которую я выполнил вместе с выводом, ниже :

user@host# ssh-keyscan 10.xx.xx.xx | grep ed25519 | grep -v "#"
  # 10.xx.xx.xx:22 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
  # 10.xx.xx.xx:22 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
  # 10.xx.xx.xx:22 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
  # 10.xx.xx.xx:22 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
  # 10.xx.xx.xx:22 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
  10.xx.xx.xx ssh-ed25519 <host key>

. Мне нужно, чтобы она напечатала только строку ed25519. Я также пробовал фильтровать AWK, но все еще не получил нужного результата.

Есть идеи, как отфильтровать только строку ed25519?

2
задан 5 January 2022 в 18:53

0 ответов

Другие вопросы по тегам:

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