首页 > 解决方案 > grep +当grep中的单词可变时如何匹配文件中的单词

问题描述

我们有以下 /etc/hosts 文件

130.21.25.5 kafka01.bd-dm-kag.com
130.12.22.6 kafka02.bd-dm-kag.com
130.12.22.10 kafka03.bd-dm-kag.com

我想使用 grep 来匹配 kafka01 机器,如下

machine=kafka01

grep -E '(\s$machine)[[:digit:]]+'  /etc/hosts

但 grep 与 kafka01 不匹配( grep 没有输出)

我们也尝试

 grep -E '\s$machine[[:digit:]]+'  /etc/hosts

我的语法有什么问题?

注意 - 如果不是来自 grep 的解决方案,也可以考虑 perl 一个线性或 awk

标签: linuxbashperlawkgrep

解决方案


推荐阅读