【发布时间】:2017-10-05 06:33:00
【问题描述】:
在我们的文件结构中,我们有带有标签的 sn-ps。在我的项目目录中,我想根据上一行声明的标签返回项目中所有以.feature结尾的文件的sn-p名称。
例如,该目录包含一个带有以下文本的login.feature 文件:
@integration @unit @smoke
Scenario: Login to Product
@integration @unit
Scenario: Buy Stuff
该目录还包含一个带有以下文本的logout.feature 文件:
@test @wip @smoke
Scenario: Logout of Product
我想运行一个返回以下数组的命令:
["Login to Product", "Logout of Product"]
如你所见,我基本上是在做以下事情:
grep -inr -A 1 '@smoke' ./my/directory | grep Scenario | sed -n -e 's/^.*Scenario: //p' | awk '!seen[$0]++'
...除了将结果行转换为数组。
在 Ruby 中是否有一种优雅的方法可以做到这一点?或者我能以某种方式将 Unix 魔法与 Ruby 糖结合起来吗?还是我应该坚持使用 sed/awk/grep?
【问题讨论】:
-
很好地使用 sed/awk。不确定是否会有像这个一样简洁优雅的 Ruby 方法。
标签: ruby-on-rails ruby bash unix