Я пытаюсь отфильтровать вывод 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?