Você pode se livrar do primeiro sed
e awk
, eles são inúteis:
$ echo machineLinux05 | sed 's/[^0-9]//g'
Eu uso a seguinte sintaxe para capturar apenas o número do hostname da máquina
echo machineLinux05 | sed s'/\./ /g' | awk '{print $1}' | sed 's/[^0-9]//g'
05
Mas este caminho não é tão elegante. Existe outra alternativa curta para capturar o número da string?
Experimente o seguinte one-liner:
echo machineLinux05.FG.com | perl -pe 's/\..*$//;s/[^0-9\n]+//g'