首页 > 解决方案 > 用于在字符串中查找 3 个或更多破折号的 grep 正则表达式解决方案

问题描述

我正在尝试构建一个 bash 脚本,该脚本将在 Mac 上查找钥匙串文件夹,并在使用 grep 找到时将其删除。具有挑战性的部分是没有 2 个文件夹是相似的。一个例子是 C0955E7D-DCA1-542B-B506-72A054DET9FA。它们的名称中都包含 3 个或更多破折号。不知道如何使用正则表达式对此进行 grep。在我的“~/Library/Keychain/ 目录中,我在想类似...

ls | grep "*-*-*-*"

我在想 * 将是通配符,并查找它们之间至少包含 3 个破折号的任意数量的数字。

我也开始使用python(因为它预装在mac上)但这似乎太复杂了。

标签: pythonregexbashgrep

解决方案


你可以试试(\w+-){3,}\w+

说明

\w+: 单词字符 1 次或多次
-: 连字符
(\w+-){3,}: 一些单词字符后跟连字符 3 次或多次
\w+: 单词字符 1 次或多次


推荐阅读