使用grep(在Windows上)查找由s包含的字符串

时间:2015-07-15 19:29:51

标签: windows bash shell sed grep

我正在尝试在Windows中编写shell脚本,这就是为什么我没有使用awkgrep -o之类的东西。

我正在尝试为正在使用的控制器解析我的角度文件。例如,我在文件中会有这样的一行。

widgetList.controller('widgetListController', [

我想要的是提取widgetListController

这是我到目前为止所得到的:

grep -h "[[:alpha:]]*Controller[[:alpha:]]*" C:/workspace/AM/$file | tr ' ' '\n' | grep -h "[[:alpha:]]*Controller[[:alpha:]]*"

效果不错,但它会像这样拉出整条线:

widgetList.controller('widgetListController',而非单词。

同样在控制器格式如下的情况下:

controller : 'widgetListController',

返回'widgetListController',

我怎样才能调整它来简单地返回它们之间的任何东西?我已经尝试了各种方法来逃避这个角色,但似乎并没有起作用。

1 个答案:

答案 0 :(得分:1)

您可以使用此sed命令:

sed "/Controller/s/.*'\([^']*\)'.*$/\1/" C:/workspace/AM/$file

<强>输出:

widgetListController