linux:如何从字符串中捕获数字

linux:如何从字符串中捕获数字

我使用以下语法来仅捕获来自机器主机名的数字

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

05

但这种方式不太优雅。还有其他更简单的方法可以从字符串中捕获数字吗?

答案1

您可以删除第一个sedawk,因为它们毫无意义:

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

答案2

尝试以下一行代码:

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

相关内容