grep - grep 命令中的点用作正则表达式
问题描述
我试图了解 bash 在将字符串传递给 grep 之前是否对字符串进行了某些操作,或者 grep 默认情况下是否使用基本的正则表达式搜索。手册页和其他答案并没有真正澄清
ss -an | grep "8.02"
u_dgr UNCONN 0 0 * 820284002 * 820284001
u_str ESTAB 0 0 * 820283949 * 820287456
看起来.
正在以正则表达式的方式使用来匹配单个字符。但是,我只希望在使用grep -e
or时会发生这种情况grep -E
。如果 bash 正在拦截字符串,我希望首先拦截特殊的 shell 字符,例如*
or ?
。
man 条目指出我正在使用 GNU grep 3.1
解决方案
看起来我在 RTFMing 更近一点后立即找到了答案
-G, --basic-regexp 将 PATTERN 解释为基本正则表达式(BRE,见下文)。这是默认设置。
“这是默认值” - 我假设这意味着如果没有传递标志,这是默认行为?
推荐阅读
- mysql - `PDOException:SQLSTATE [42000]:语法错误或访问冲突:1305 SAVEPOINT trans2不存在`在Laravel测试中
- php - HTML 图像滑块不在 Heroku 上
- git - 修改先前的提交而不更改时间戳
- javascript - Node.js - 登录表单上的错误 UnhandledPromiseRejectionWarning
- c# - Xfinium PDF:如何自动调整图像大小
- javascript - 如何使用使用 javascript 的按钮在选项中添加选定的属性
- powershell - 通过 Graph、Sites.Selected 和 Managed Identity 连接到 SharePoint
- tensorflow - Tensorflow 联合的随机种子?
- javascript - 正则表达式中的前瞻
- flutter - 为什么在循环中调用异步函数不能正常工作?