如果我有以下代码:如何在输出与正则表达式比较时保留bash中的换行符?
if [[ "$(cat myfile)" =~ ^scripts\/.* ]]; then
echo YES
else
echo NO
fi
和“MYFILE”包含以下内容:
hot/warm
scripts/whatever
cold/cool
结果,当我运行我的代码是“NO”,但我希望它是YES 。
如果我改变“MYFILE”通过重新排序的内容,使“脚本/不管”是第一位的,象下面这样:
scripts/whatever
hot/warm
cold/cool
后来,当我运行我的脚本确实是YES的结果。这是有问题的,因为我希望我的脚本能够检测这个正则表达式模式是否出现在内容的任何一行上,而不仅仅是第一个。
为什么不使用'grep -q'^ scripts /.*$'myfile'? – chepner