使用带有变量的正则表达式“查找”

时间:2014-07-03 11:11:03

标签: regex bash find

请帮助我以下内容:

让它成为三个文件:

file-aaa.sh 
file-bbb.sh
file-xxx.sh

在bash脚本中我有变量

$a=aaa 
$b=bbb

现在,我想执行类似的事情:

find . -name "file-[$a|$b].sh"

并期望在输出中获得两个文件。 我做错了什么?

1 个答案:

答案 0 :(得分:6)

您可以使用此查找:

find . -name "file-$a.sh" -o -name "file-$b.sh"

使用-regex选项将其合并为一个:

在OSX上:

find -E . -regex ".*file-($a|$b)\.txt"

在Linux上:

find . -regextype posix-extended -regex ".*file-($a|$b)\.txt"