Parece um trabalho simples para sed
:
docker port <container-name> | sed 's/^.*:\([0-9]*\)$//'
Ou se preferir awk
:
docker port <container-name> | awk -F':' '{print $NF}'
Eu quero analisar o número da porta que preciso da saída do comando docker port
. O comando docker port <container-name>
retorna a saída da seguinte forma:
15672/tcp -> 0.0.0.0:49187 5672/tcp -> 0.0.0.0:49188
5678/tcp -> 0.0.0.0:49189
Portanto, é um único número de porta ou dois números de porta.
Felizmente, no caso de o comando citar 2 números de porta, eu sempre preciso apenas do segundo exibido. Para esclarecer, nos dois exemplos acima, preciso analisar os valores 49188
e 49189
port da saída do comando docker port
.
Qual é o caminho mais curto para alcançar isso?
docker port <container-name> | while read -r line;do echo ${line##*:};done
Tags text-processing docker ksh