我想在TARGET_PATH
中挑选一条路径$PATH
。为了挑选它,我做了
grep -q "[:|^]$TARGET_PATH[$|:]"
然而它不起作用。
我害怕排队" ^
"和行尾#34; $
"可能无效[]
。
请告诉解决方案。
答案 0 :(得分:2)
您可以尝试使用alternation with ()
代替[]
(class of characters or character sets)
grep -q -E "(:|^)\$TARGET_PATH($|:)
答案 1 :(得分:1)
此检查不需要return $this->belongsTo('users_roles', 'users_roles_id', 'users_id');
。您可以在BASH中执行此操作:
grep
答案 2 :(得分:1)
正则表达式很酷但在这种情况下你根本就不需要它们。
将您要搜索的字符串($PATH
)包装成一对分隔符(:
)。这样您就可以确定您要搜索的字符串(如果它出现在$PATH
中)始终由:
个字符限定。
定期搜索字符串:$TARGET_PATH:
(没有regex
)足以告诉您它是否出现在$PATH
中:
cat ":$PATH:" | grep ":$TARGET_PATH:"