Я использую следующий синтаксис, чтобы захватить только число от имени хоста машины

echo machineLinux05 | sed s'/\./ /g' | awk '{print $1}' | sed 's/[^0-9]//g'

05

Но этот способ не так элегантен. Есть ли другая короткая альтернатива для захвата числа из строки?

2 ответа2

1

Вы можете просто избавиться от первых sed и awk , они бессмысленны:

$ echo machineLinux05 | sed 's/[^0-9]//g'
0

Попробуйте следующий однострочник:

echo machineLinux05.FG.com | perl -pe 's/\..*$//;s/[^0-9\n]+//g'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .