小编Tho*_*ang的帖子

如何使用grep只获取没有Path的文件名

我有以下问题.

我正在做一个grep:

$ command = grep -r -i --include =*.cfg'host {'/ tomd/sites/mesh/etc /icinga/conf.d/objects

我得到以下输出:

/omd/sites/mesh/etc/icinga/conf.d/objects/testsystem/test1.cfg:define host{
/omd/sites/mesh/etc/icinga/conf.d/objects/testsystem/test2.cfg:define host{
/omd/sites/mesh/etc/icinga/conf.d/objects/testsystem/test3.cfg:define host{
...
Run Code Online (Sandbox Code Playgroud)

对于所有*.cfg文件.

exec($command,$array)

我在数组中传递了结果.

是否可以仅获取grep-command的文件名.

我尝试过以下方法:

$Command=    grep -l -H -r -i --include=*.cfg 'host{' /omd/sites/mesh/etc/icinga/conf.d/objects
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的结果.

我知道在论坛上存在类似的主题.(我如何使用grep在linux上显示文件名(没有内嵌匹配)?),但解决方案不起作用.

使用"exec($ Command,$ result_array)",我试着得到一个包含结果的数组.提到的解决方案可以解决所有问题,但是我无法使用exec()得到一个resultarray.

谁能帮我?

linux bash grep

3
推荐指数
2
解决办法
8512
查看次数

标签 统计

bash ×1

grep ×1

linux ×1