すべての(既知の)フォーマット条件で.ssh / known_hostsファイルからホスト名/ ipを抽出したいと思います。
- ホスト名のみ
hostname pubkey
- ホスト名とIP:
hostname,1.1.1.1 pubkey
- リバース以外のIPを使用するホスト名とカスタムポート:
[hostname]:1234,[1.1.1.1]:1234 pubkey
- ハッシュホストがある場合は安全に無視
答え1
awk -F'[ ,:]' '/^[0-9a-zA-Z]/{sub(/\[/,"",$1); sub(/\]/,"",$1); print $1}' ~/.ssh/known_hosts