我使用以下语法来仅捕获来自机器主机名的数字
echo machineLinux05 | sed s'/\./ /g' | awk '{print $1}' | sed 's/[^0-9]//g'
05
但这种方式不太优雅。还有其他更简单的方法可以从字符串中捕获数字吗?
答案1
您可以删除第一个sed
和awk
,因为它们毫无意义:
$ echo machineLinux05 | sed 's/[^0-9]//g'
答案2
尝试以下一行代码:
echo machineLinux05.FG.com | perl -pe 's/\..*$//;s/[^0-9\n]+//g'