kshでポート番号文字列を解析する方法

kshでポート番号文字列を解析する方法

コマンド出力から必要なポート番号を解析したいですdocker port。このdocker port <container-name>コマンドは、次の出力を返します。

15672/tcp -> 0.0.0.0:49187 5672/tcp -> 0.0.0.0:49188
5678/tcp -> 0.0.0.0:49189

したがって、単一のポート番号または2つのポート番号です。

幸い、コマンドが2つのポート番号を出力する場合は、常に2番目のポート番号を表示するだけです。これを明確にするために、上記の両方の例は49188コマンド出力から値を解析して移植する必要があります。49189docker port

これを達成するための最短の方法は何ですか?

ベストアンサー1

簡単な作業のように聞こえますsed

docker port <container-name> | sed 's/^.*:\([0-9]*\)$/\1/'

または必要に応じてawk

docker port <container-name> | awk -F':' '{print $NF}'

おすすめ記事