我有这样的档案:
blue|1|red|2
green|3|blue|4
darkblue|0|yellow|3
我想使用grep在行首或blue|
任意位置找到任何包含|blue|
的内容,但不能找到任何darkblue|
或|darkblue|
或|blueberry|
我尝试使用grep [^|\|]blue\|
,但Git Bash给了我错误:
$ grep [^|\|]blue\| *.*
grep: Unmatched [ or [^
sh.exe": |]blue|: command not found
我做错了什么?这样做的正确方法是什么?
答案 0 :(得分:1)
这是一个快速的&肮脏的一个:
grep -E '(^|\|)blue\|' *
匹配行首或|
,后跟blue|
。重要的一点是,您需要使用扩展正则表达式(通过egrep
或-E
标志)来使用|
(或)构造。
答案 1 :(得分:1)
另外,请注意正则表达式周围的单引号。
所以,回答OP的“我做错了什么?”,
看到其他人的错误总是比较容易;我希望我很快发现自己: - |