我想找到一个以特定字符串开头的文件中的所有行.问题是,我事先并不知道字符串中有什么.该值存储在变量中.
天真的解决方案如下:
grep "^${my_string}" file.txt;
Run Code Online (Sandbox Code Playgroud)
因为如果Bash变量my_string包含任何正则表达式特殊字符,grep就会哭,并且每个人都会有糟糕的一天.
你不grep想哭,是吗?
出于某种原因,以下正则表达式匹配似乎不起作用。
string="#Hello world";
[[ "$string" =~ 'ello' ]] && echo "matches";
[[ "$string" =~ 'el.o' ]] && echo "matches";
Run Code Online (Sandbox Code Playgroud)
第一个命令成功(如预期),但第二个没有。
正则表达式不应该将该句点视为单个字符吗?