为跨平台查找命令

时间:2015-05-26 03:09:22

标签: regex find

在Ubuntu中,为了能够在find期间使用扩展正则表达式,您可以指定-regextype标志,但在OSX中它需要-E标志。是否有便携式方法可以执行以下操作?

find app -type f -regextype posix-extended -regex '.+\.(handlebars|partial)'

1 个答案:

答案 0 :(得分:0)

这根本不是理想的,但你可以做一些像

这样的事情
platform=`uname`
if [$platform='Darwin']; then
    find app -type f -E posix-extended -regex '.+\.(handlebars|partial)'
else
    find app -type f -regextype posix-extended -regex '.+\.(handlebars|partial)'
fi

请注意,如果它不是OS X,这只会假设linux,而且我认为你需要在OS X上检查一个稍微不同的字符串然后是'Darwin',尽管它就是这样的。