1
在我們的文件結構中,我們有帶標籤的片段。從我的項目目錄中,我想根據前面一行聲明的標籤返回片段名稱,對於在項目中以.feature
結尾的所有文件。將Unix grep/sed/awk轉換爲Ruby
例如,該目錄包含一個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方法。 – hedgesky