最有效的不区分大小写的 grep 用法是什么?

2024-03-05

我的目标是匹配属于 Yahoo! 的电子邮件地址。域家族。在 *nix 系统(我将使用 Ubuntu)中,这些匹配模式的方法中的任何一种都有哪些优点和缺点?

如果还有我无法想象的另一种更优雅的解决方案,请分享。

他们来了:

  • Use grep有选项-i:

grep -Ei "@(yahoo|(y|rocket)mail|geocities)\.com"

  • 然后将字符翻译为全部大写或小写grep:

tr [:upper:] [:lower:] < /path/to/file.txt | grep -E "@(yahoo|(y|rocket)mail|geocities)\.com"

  • 为模式中的每个字符包含一个字符集(下面的内容当然不会匹配“@rOcketmail.com”之类的内容,但您会知道如果我检查每个字符的大小写,它会变成什么):

grep -E "@([yY]ahoo|([yY]|[rR]ocket)[mM]ail|[gG]eo[cC]ities)\.[cC][oO][mM]" /path/to/file.txt


grep -i结果比 grep 之前转换为 lowers 慢得多,所以我最终使用了 #2 的变体。

感谢@mike-w 提醒我一个简单的测试会有很长的路要走。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最有效的不区分大小写的 grep 用法是什么? 的相关文章

  • 你能挽救我的负面回顾示例来传达数字吗?

    在 高级正则表达式 一章中掌握 Perl http oreilly com catalog 9780596527242 我有一个损坏的示例 我无法找到一个很好的修复方法 这个例子可能为了自己的利益而试图变得太聪明 但也许有人可以帮我解决它
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 正则表达式验证字符串是否包含三个非空白字符

    我使用欧芹 js 来验证输入 并且使用 data parsley pattern 它允许我传递正则表达式 我正在尝试验证该字符串以确保它至少包含三个非空白字符 下面是应该无效或有效的字符串 valid 1 2 b invalid 1 b s
  • PHP URL 验证

    我知道有无数的线程问这个问题 但我一直无法找到一个可以帮助我解决这个问题的线程 我基本上试图解析大约 10 000 000 个 URL 的列表 确保它们根据以下标准有效 然后获取根域 URL 此列表包含您能想象到的几乎所有内容 包括类似的内
  • Slim 3 - 斜杠作为路由参数的一部分

    我需要使用可以包含斜杠 的参数来编写 URL 例如 经典的 hello username 路线 默认情况下 hello Fabien将匹配此路线 但不匹配 hello Fabien Kris 我想问你如何在 Slim 3 框架中做到这一点
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • RegularExpressionValidator.ValidationExpression 强制长度为 10 或 12 个符号

    RegularExpressionValidator ValidationExpression d 10 仅表示数字 最多 10 位 RegularExpressionValidator ValidationExpression d 10
  • PHP解析xml文件错误

    我正在尝试使用 simpleXML 来获取数据http rates fxcm com RatesXML http rates fxcm com RatesXML Using simplexml load file 我有时会遇到错误 因为这个
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 使用 posix shell 测试字符串中的正则表达式

    如何测试字符串是否与特定字符串匹配正则表达式与基本 无 bash 或任何其他 posix shell 脚本 在 if 语句中 您可以使用expr在 POSIX shell 中计算正则表达式的命令 s Abc expr s alpha 3 e
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • Jquery datetimepicker - 将时间提前 1 小时

    我目前正在使用 jQuery datetimepicker 插件here http trentrichardson com examples timepicker 它工作得几乎完美 但我对如何向其添加一点功能感到困惑 我目前在页面上有两个实
  • 如何在 Node.js 中将函数/回调传递给子进程?

    假设我有一个parent js包含一个名为parent var childProcess require child process var options someData a 1 b 2 c 3 asyncFn function dat
  • 如何将“ignore”类与tensorflow对象检测API一起使用?

    我已经训练了张量流对象检测模型 对于num steps 50000 using SSD mobilenet v1 在自定义数据集上 我有 email protected cdn cgi l email protection 0 98 和lo
  • 没有span标签的微数据

    我有一个网站 设计者将 CSS 应用于基本 标签 这使得该标签对于微数据标记实际上毫无用处 除非我希望所有文本都是蓝色 粗体 并且比正常情况大 125 我可以使用其他标签吗 我知道我可以使用 但我实际上希望内容出现 而且必须写两次似乎有点过
  • 将对象属性限制为 keyof 接口

    此代码将无法编译 interface IFoo a number type TFoo keyof IFoo type OFoo key TFoo any let obj OFoo a 1 我想要实现的是 obj 只能与具有有效属性的对象一起
  • Bootstrap 弹出窗口被裁剪到包含 div 的范围

    我希望将弹出窗口包含在可折叠 div 中 http jsfiddle net nathan9 qgyS7 http jsfiddle net nathan9 qgyS7 然而 弹出窗口似乎仅限于 div 的范围 有没有办法防止剪辑 a hr
  • OpenCV - 校准鱼眼镜头误差(病态矩阵)

    我正在尝试按照这些说明校准鱼眼镜头https medium com kenneth Jiang calibrate fisheye lens using opencv 333b05afa0b0 https medium com kennet
  • 在 PyQt PushButton 单击期间发送附加变量[重复]

    这个问题在这里已经有答案了 我是 Python 和 PyQt 的新手 这是我的第一个应用程序 目前 当单击按钮时 toggleLED checks self LedOn来决定是否打开LED class Screen QWidget def
  • jquery - 获取html表的指定列中的元素

    使用 jquery 我想获取 html 表的指定列中的所有元素 请注意 它可以多于一列 例如 如果我有以下 html 表 table tr td a td td b td td c td tr tr td 1 td td 2 td td 3
  • 使用 rvest 抓取带有 span 的 html 表

    我正在使用 rvest 提取以下页面中的表 https en wikipedia org wiki List of United States presidential elections by popular vote margin ht
  • 动态 Servicefabric 设置和覆盖

    有没有办法完全不告诉服务有关设置 而只在应用程序级别提供它们 我仍然对 servicefabric 配置的工作方式不满意 据我所知 我必须在服务的 settings xml 中指定所有可能的配置值 然后我可以覆盖应用程序的 Applicat
  • elasticsearch:将“应该”变成过滤器

    我想使用过滤器进行搜索 排除与条件或另一个条件不匹配的结果 我尝试在过滤器中执行 应该 操作 但失败了 POST my index search query bool filter should match type1 title sear
  • 为什么抽象方法有时需要重写?

    基于一个上一个问题 https stackoverflow com questions 66182368 stack modification traits in scala not working 下面的代码编译OK trait Logg
  • 打开数据库图表后 SQL Server Management Studio 崩溃

    我在 SQL Server 2018 SSMS 18 1 的本地服务器中有 2 个现有数据库图 打开它时 应用程序变得 无响应 然后崩溃 没有任何错误 过去 7 天运行良好 意思是 18 如果您安装了 SSMS 版本 18 0 则数据库图已
  • Facebook 延迟深度链接在 iOS 上不起作用

    当我使用 Facebook 时一切正常应用广告助手 https developers facebook com tools app ads helper 深度链接测试器 应用程序将从 App Store 下载 URL 将被正确获取和处理 但
  • 如何找到 MySQL root 密码

    我无法弄清楚我的 MySQL root 密码 我怎样才能找到这个 是否有存储此密码的文件 我正在关注这个但我本地没有 directadmin 目录 感谢 thusharaK 我可以在不知道旧密码的情况下重置root密码 在 ubuntu 上
  • 如何在使用 PhoneGap/Cordova 构建的 Android 应用程序中单击按钮时播放音频?

    我正在构建一个类似音板的基本应用程序 其中有一些播放声音的按钮 我正在使用 PhoneGap Cordova 并使用 PhoneGap Build 服务将代码编译为 APK 起初 我使用简单的 HTML5
  • 如何在 %width div 内保持图像长宽比?

    很抱歉再次询问这个问题 但我的搜索没有显示任何我能够实现的内容 我在 div 中有一个具有以下样式的图像 div class thumb grid 6 img src img test2 jpg alt flavin div grid 6
  • 本月第几周

    我正在尝试获取该月的周数 这就是我想要做的 x date V echo x is x y date V d date Y m01 echo y is y week of month x y echo week of month is wee
  • 最有效的不区分大小写的 grep 用法是什么?

    我的目标是匹配属于 Yahoo 的电子邮件地址 域家族 在 nix 系统 我将使用 Ubuntu 中 这些匹配模式的方法中的任何一种都有哪些优点和缺点 如果还有我无法想象的另一种更优雅的解决方案 请分享 他们来了 Use grep有选项 i