複数のホストを含むSSH設定ファイルがあり、各ホストにはいくつかのポート転送が事前設定されています。
Host host
HostName host.server.com
User user
LocalForward 1234 localhost:9911
LocalForward 5678 localhost:9922
次のテキストを表示する簡単な方法はありますか?
Service 1 (port: 9911) forwarded to port: 1234
Service 2 (port: 9922) forwarded to port: 5678
ログインするとき?
ベストアンサー1
奇妙な解決策:
awk '/LocalForward/
{ count++;
split($3,arr,":");
printf "Service %i ( port: "arr[2]") forwarded to port : "$2"\n",count
}' ssh_config
LocalForward ラインパターンが一致すると、変数の数が増加します。分割線の3番目のスペースを使用してフィールドを区切ります。結果を配列(arr)に配置します。 arr 配列の 2 番目の要素と、行から空白で区切られた 2 番目のデータセグメントを抽出するために必要なテキストを印刷します。