【发布时间】:2018-02-15 06:50:36
【问题描述】:
如果我有以下代码:
if [[ "$(cat myfile)" =~ ^scripts\/.* ]]; then
echo YES
else
echo NO
fi
而“myfile”包含以下内容:
hot/warm
scripts/whatever
cold/cool
我运行代码时的结果是“NO”,但我希望它是 YES。
如果我通过重新排序内容来更改“myfile”,以便首先出现“scripts/whatever”,如下所示:
scripts/whatever
hot/warm
cold/cool
那么当我运行我的脚本时的结果确实是 YES。这是有问题的,因为我希望我的脚本检测该正则表达式模式是否出现在任何内容行上,而不仅仅是第一行。
【问题讨论】:
-
为什么不直接使用
grep -q '^scripts/.*$' myfile?