Bash 中的正则表达式:不想包含目录

2024-01-07

我有一个图像列表,使用以下行收集:

# find . -mindepth 1 -type f -name "*.JPG" | grep "MG_[0-9][0-9][0-9][0-9].JPG"

output:

./DCIM/103canon/IMG_0039.JPG
./DCIM/103canon/IMG_0097.JPG
./DCIM/103canon/IMG_1600.JPG
./DCIM/103canon/IMG_2317.JPG
./DCIM/IMG_0042.JPG
./DCIM/IMG_1152.JPG
./DCIM/IMG_1810.JPG
./DCIM/IMG_2564.JPG
./images/IMG_0058.JPG
./images/IMG_0079.JPG
./images/IMG_1233.JPG
./images/IMG_1959.JPG
./images/IMG_2012/favs/IMG_0039.JPG
./images/IMG_2012/favs/IMG_1060.JPG
./images/IMG_2012/favs/IMG_1729.JPG
./images/IMG_2012/favs/IMG_2013.JPG
./images/IMG_2012/favs/IMG_2317.JPG
./images/IMG_2012/IMG_0079.JPG
./images/IMG_2012/IMG_1403.JPG
./images/IMG_2012/IMG_2102.JPG
./images/IMG_2013/IMG_0060.JPG
./images/IMG_2013/IMG_1311.JPG
./images/IMG_2013/IMG_1729.JPG
./images/IMG_2013/IMG_2013.JPG
./IMG_0085.JPG
./IMG_1597.JPG
./IMG_2288.JPG

但是我只想要最后一部分,IMG_\d\d\d\d.JPG。我尝试了数百种正则表达式,这是给我最好结果的一个。有没有办法只打印出文件名,而没有前面的目录树,或者仅打印出正则表达式?

Thanks


它应该是

find . -mindepth 1 -type f -name "*MG_[0-9][0-9][0-9][0-9].JPG" -printf "%f\n"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 中的正则表达式:不想包含目录 的相关文章

  • 将正则表达式拆分为 2 个捕获组

    好吧 我之前的问题都得到解答了 我还有一个 这个对我来说比较难 A Za z A Za z0 9 domain com 现在这个表达式只产生 1 个捕获组 如 所示 我该如何为此 URL 执行 2 个捕获组 用于IIS正则表达式重写 您可以
  • 仅适用于数字和连字符的正则表达式

    我试图理解正则表达式 对于长度为 10 的数字我可以简单地做 0 9 10 对于连字符只有我能做 使用组表达式将两者结合起来将导致 0 9 10 该表达式无法按预期工作 如果字符串无效 它会以某种方式匹配字符串的一部分 而不是根本不匹配 如
  • 如何解析这个 OFX 文件?

    这是原始 ofx 文件 因为它来自 m 银行 不用担心 没有什么敏感信息 我剪掉了所有交易的中间部分 开放金融交易所 OFX 是一个 用于交换的数据流格式 演变的财务信息 来自微软的开放金融 连接 OFC 和 Intuit 的 Open 交
  • 从 split 切换到 preg_split 时 php preg_split 错误

    在从 split 更改为 preg split 以获得 php 5 3 兼容性后 我从 php 收到此警告 PHP Warning preg split Delimiter must not be alphanumeric or backs
  • 正则表达式,获取两个关键字之间的整个字符串

    我正在做一些输出解析 我需要从两个单词之间抓取一大块文本 例如 如果我正在解析文本 Hi this is an example 我希望能够指定我的两个单词是 Hi 和 example 然后我将取回字符串 this is an 我知道正则表达
  • find 命令的“exec”功能可以在后台启动程序吗?

    我想做这样的事情 find iname Advanced Linux Program exec kpdf 可能的 还有其他类似的方法吗 首先 它不会像你输入的那样工作 因为 shell 会将其解释为 find iname Advanced
  • 在 JavaScript 中使用正则表达式验证信用卡输入

    我一直在努力完成这件事但没有成功 我正在使用正则表达式根据通过单选按钮选择的信用卡类型来验证用户输入的信用卡号 但我一直保持警惕if陈述 看起来所有的if else语句经过测试 There is the HTML code fragment
  • Java中的逆向正则表达式

    Java中如何反转正则表达式 例如 ab de gt ed ba wow 您需要为正则表达式构建一个解析器并反转所有标记 部分 在这种情况下 ab de 是 a b d e 并反转这是 e d b a 现在想象一下群体 ab de 相反的是
  • 正则表达式没有方法测试[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 ATM机允许4 或 6 位数字PIN 码和 PIN 码不能包含任何内容 但exactly 4 位数字或恰好 6 位数字 如果函数传
  • preg_replace 和中文字符的奇怪问题

    我有这个奇怪的问题 经过 preg replace 后 一些汉字变成了时髦的字符 这是脚本 message strip tags mysql real escape string POST message img
  • 正则表达式删除外括号

    我一直在用这个 s s 正则表达式使用 PHP preg replace 函数删除外括号 在我上一个问题中了解更多信息正则表达式匹配除尾随空格之外的任何字符 https stackoverflow com questions 1076569
  • 如何创建最小 8 个、最大 16 个、字母、数字且无空格的正则表达式?

    我正在尝试在 iOS 中使用正则表达式检查文本 下面是我的代码 我的正则表达式接受一个单词或数字 最少 8 个 最多 16 个数字或字母 if self validate txtPass text regex a zA Z0 9 NSLOG
  • C# 中的嵌套正则表达式替换

    我不太擅长正则表达式 但我了解基础知识 我试图弄清楚如何根据匹配中的某个值进行条件替换 例如 假设我有一些嵌套的字符串结构 如下所示 id value id and value are space delimited id will nev
  • 运行 php 脚本的 Bash 脚本

    我有一个 php 脚本 我想使用 bash 脚本运行它 所以我可以使用 Cron 每分钟左右运行 php 脚本 据我所知 我需要创建 bash 脚本来处理 php 脚本 然后我才能使用 Cron 工具 计时器 到目前为止 我被告知我需要输入
  • Python 中使用 RegEx 的函数解析器

    我有一个 Fortran 源代码 几乎不相关 我想解析函数名称和参数 例如使用 w with a b 1 2 2 c 3 4 我得到以下信息 如预期 b 1 2 2 c 3 4 我需要的地方 a b 1 2 2 c 3 4 b 1 2 2
  • 如何替换引号之间出现的任何单词

    我需要能够替换所有出现的单词 and 仅当它出现在单引号之间时 例如 将字符串中的 and 替换为 XXX This and that with you and me and others and not her and him 结果是 T
  • 通过 bash 调用应用程序时忽略 dyld_insert_libraries

    对于我的应用程序 我使用 DYLD INSERT LIBRARIES 来切换库 我运行的是 Mac OS X El Capitan 如果我在 shell 中设置这些环境变量 export PYTHONHOME HOME anaconda e
  • 无法从外部 bash 脚本正确设置 MySQL 密码

    我有两个脚本 主要的一个脚本执行一些不同的操作并调用第二个脚本 第二个脚本安装 MySQL 从我的主脚本中我做了这样的事情 read p Set the password for the database min 4 characters
  • Perl 初学者:如何查找/替换文件中的 ASCII 字符?

    我对 Perl 完全陌生 我认为这将是解决我的简单任务的最佳语言 我需要将二进制文件转换为可读的文件 并且需要查找和替换字符串 例如 x00 x39 into x09 选项卡 或类似的东西 从 bash 开始 我从以下内容开始 效果很好 p
  • 删除特定标签内的内容

    使用 Rails 3 2 我想删除其中的所有文本 b 和标签 但我设法找到只剥离标签的方法 string p b Section 1 b Everything is good br b Section 2 b All is well p s

随机推荐