我有一个案例需要使用Regex在Bash的某个目录中查找/列出文件。
myRegex="MYFILE[0-9]{15}"
if [[ `ls` =~ "$myRegex" ]]
then
echo "Matching File found"
else
echo "No Matching File found"
fi
虽然我在目录中有与此正则表达式匹配的文件,但它仍然显示“找不到匹配的文件”错误。
感谢您提前回答
答案 0 :(得分:1)
问题实际上是报价。这应该解决它:
MY_REGEX="MYFILE[0-9]{15}"
if [[ "$(ls)" =~ $MY_REGEX ]]; then
echo "Matching File found"
else
echo "No Matching File found"
fi
Bash期望正则表达式文字,而不是字符串。