shell grep命令的多个正则表达式 组合使用。
catlog|grep-E"(|^)[0-9a-z]{4}(|$)"|grep-vE"(|^)[0-9]{4}(|$)"|grep-vE"(|^)[a-z]{4}(|$)...
cat log | grep -E "( |^)[0-9a-z]{4}( |$)" | grep -vE "( |^)[0-9]{4}( |$)"| grep -vE "( |^)[a-z]{4}( |$)"
这个正则的目的是 取出 4位数 的字母与字符串 组合, 例如 02e3 这种,其中 4位数里 至少一个数字 至少一个小写字母,不允许大写字母出现, 不可以 4位 全是字母 或 全是数字。也就是 等效于 [0-9]+ && [a-z]+ ;请教一个比较便捷的 grep 正则使用 展开
这个正则的目的是 取出 4位数 的字母与字符串 组合, 例如 02e3 这种,其中 4位数里 至少一个数字 至少一个小写字母,不允许大写字母出现, 不可以 4位 全是字母 或 全是数字。也就是 等效于 [0-9]+ && [a-z]+ ;请教一个比较便捷的 grep 正则使用 展开
2个回答
展开全部
可以使用 perl 正则表达式
grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b"
更多追问追答
追问
# lspci | grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b"
-bash: !: event not found
我用lspci 加了管道 就报错了,请问 如何修改呢,
# lspci | grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b"
-bash: !: event not found
我用lspci 加了管道 就报错了,请问 如何修改呢,
展开全部
grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b" log
推荐在linux下多使用man命令
man grep
推荐在linux下多使用man命令
man grep
追问
# lspci | grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b"
-bash: !: event not found
我用lspci 加了管道 就报错了,请问 如何修改呢,
追答
Ispci >log;
grep -P "\b(?!([0-9]{4}|[a-z]{4}))[0-9a-z]{4}\b" log
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询