如何抢号码



编写一个小脚本来在我的服务器上执行内务管理任务。

我只想抓住ethX中的X,

echo `grep -m1 -oE "eth[0-9]*" /etc/network/interfaces | grep -oE [0-9]*`

这有效,但我想知道是否有人知道可以做到这一点的一次性命令,即可以采用一个单词的常规经验,例如 room456 并且只吐出数字。

使用正回溯来匹配前面带有 eth 的任何数字字符串:

$ cat file
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
$ grep -Po '(?<=eth)[0-9]+' file
0
1

使用 sed

sed 's/^eth([0-9]+):.*$/1/g' /etc/network/interfaces

相关内容

  • 没有找到相关文章