如何grep以字符开头和结尾的内容
ABC-0
ABC-1
ABC-10
ABC-20
我想要为ABC-0和ABC-1
grep -v答案 0 :(得分:10)
如果您要匹配单词,请使用\b
作为单词分隔符,如下所示:
\ B [A-ZA-Z] - \ d + \ B'/ P>
\b
- 匹配单词字符(任何匹配的字符)之间的位置\w
}和非单词字符(任何与[^\w]
或\W
匹配的内容)以及 如果是第一个和/或最后一个,则在字符串的开头和/或结尾处 字符串中的字符是单词字符。
答案 1 :(得分:9)
目前尚不清楚你的意思。如果你想在开头有一个字符,在结尾有两位数,你可以使用
^[A-Za-z].*\d\d$
如果您只需要连字符,然后只需单个数字,请使用:
^[A-Za-z].*-\d$
如果您不关心有多少位数(一个或多个),但必须有连字符,请使用:
^[A-Za-z].*-\d+$
如果这些都不是您想要的,请提供更多信息......您问题的第一句话与其余部分并不完全吻合。
答案 2 :(得分:4)
为您的例子
egrep -v "^(ABC)-(0|1)$"
就是答案。对于常见情况,请查看Jon的回答
^
标志着模式的开始,$
结束。 |
表示or