在 unix 中使用 shell 脚本从文件名中提取日期

2023-11-24

我正在研究 shell 脚本。我想从文件名中提取日期。

文件名是:abcd_2014-05-20.tar.gz

我想从中提取日期:2014-05-20


echo abcd_2014-05-20.tar.gz |grep -Eo '[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}'      

Output:

2014-05-20

grep输入为echostdin 或者你也可以使用cat命令(如果文件中有这些字符串)。

-E将 PATTERN 解释为扩展正则表达式。

-o仅显示匹配行中与 PATTERN 匹配的部分。

[[:digit:]]它只会从输入中获取数字。

{N}它将检查给定字符串中的 N 个数字,i.e.:4 代表年份 2 代表月份和日期

最重要的是,它将在不使用任何分隔符(例如“_”和“.”)的情况下进行获取。这就是为什么它是最灵活的解决方案。

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

在 unix 中使用 shell 脚本从文件名中提取日期 的相关文章

随机推荐

  • jQuery 自动完成(远程)- 示例

    我真的希望避免发布新问题 但我找不到 jQuery 自动完成远程功能的功能示例 其中包括调用页面和 搜索 页面 jQueryUI 演示和文档 部分不包含 search php 的源代码 我尝试了数十种组合 但这是我开始的组合
  • 什么是&=和|=

    我正在查看大型代码库中的一些 VC 代码 并发现了以下内容 if nState TOOL TIPS VISIBLE nState TOOL TIPS VISIBLE else nState TOOL TIPS VISIBLE break C
  • 是否有键盘快捷键可以浏览 Jupyter 笔记本中的历史记录

    有没有一种简单的方法可以浏览命令历史记录并在 Jupyter 笔记本中重用旧命令 有些相当于 iPython 控制台中使用的向上 向下箭头或 Mathematica 中使用的 符号 虽然对于专家来说答案可能看起来微不足道 但对于新手来说确实
  • PHP计算目录和子目录中的文件总数函数

    我需要获取指定目录中 JPG 文件的总数 包括其所有子目录 没有子子目录 结构如下 dir1 2 files subdir 1 8 files total dir1 10 个文件 dir2 5 files subdir 1 2 files
  • 多线程还是尽可能少的线程?

    作为一个业余项目 我目前正在为我曾经玩过的一款古老游戏编写服务器 我试图使服务器尽可能松散耦合 但我想知道对于多线程来说什么是好的设计决策 目前我有以下操作顺序 启动 创建 gt 服务器 监听客户端 创建 gt 客户端 监听命令并发送周期数
  • 如何使用用户的默认电子邮件客户端弹出撰写/创建邮件对话框?

    用例很简单 在某个时间点 我需要能够向用户展示他熟悉的撰写电子邮件对话框 Outlook 或其他 发件人 收件人 主题 等字段已填充了某些应用程序确定的值 该电子邮件还会附带一个附件 除非用户明确同意 否则不应发送邮件 我在 VB6 时代做
  • LINQ 中的升序/降序 - 可以通过参数更改顺序吗?

    我有一个给出参数 bool sortAscending 的方法 现在我想使用 LINQ 根据此参数创建排序列表 然后我得到了这个 var ascendingQuery from data in dataList orderby data P
  • c++ 从 hbitmap 获取原始像素数据

    我对使用 p invoke 调用相当陌生 想知道是否有人可以指导我如何从 hbitmap 检索原始像素数据 unsigned char 这是我的场景 我正在加载一个 NET 位图对象在C 侧并将其 IntPtr 发送到我的非托管 C 方法
  • 如何模拟用 jest.mock 模拟的类的实例方法?

    如何模拟正在模拟的类的实例方法jest mock 例如 一个类Logger被嘲笑 import Person from Person import Logger from Logger jest mock Logger describe P
  • mocha / babel 如何动态转译我的测试代码?

    我的问题不是为什么有些东西不起作用 而是为什么它起作用 是的 我有一个小NodeJS 命令行工具 其中包含 NodeJS 尚不支持开箱即用的功能 最值得注意的是 import声明 String includes 因此 为了交付 构建 我转译
  • 修改Windows的MBR

    我需要修改 Windows 的 MBR 并且我真的很想在 Windows 上执行此操作 这是我的问题 我知道我可以通过调用 CreateFile 来获取物理设备的句柄 MBR 是否始终位于 PHYSICALDRIVE0 上 另外 我仍在学习
  • 重新安装 Mac OS X 后 npm 无法工作

    我不得不在我的笔记本电脑上重新安装 Mac OS X Mavericks 现在 npm 不起作用了 但是 node 仍在笔记本电脑上 npm 位于 PATH 中 christohersmbp3 angular phonecat christ
  • 用户单击主页按钮后将应用程序置于最前面

    我的申请在运行模式 前台 用户单击主页按钮 这会将应用程序置于背景 并且仍在运行 我的应用程序中有警报功能 该功能会启动 我想要的是 当我的闹钟响起时 我想将我的后台运行应用程序置于前台 并从它所处的最后状态开始
  • 循环内的 try- except

    我需要调用方法f 如果它引发IOError 我需要再次调用它 重试 最多执行三次 我需要记录任何其他异常 并且需要记录所有重试 下面的代码可以做到这一点 但看起来很丑 请帮助我让它变得优雅和Pythonic 我正在使用Python 2 7
  • 在绘图文本中使用表达式 - 打印变量的值而不是其名称

    我正在尝试获得一个标签 其中包含指数 这是我的代码 vall format cor x y cor x y digits 3 eq lt expression paste R 2 vall sep text legend x legend
  • C:为什么用 %s 打印空字符会打印“(null)”?

    为什么用 s 打印 null char 0 0 实际上会打印 null 字符串 就像这段代码 char null byte 0 printf null byte s n null byte 印刷 null byte null 甚至在 Val
  • BindingExpression 路径错误:在“对象”上找不到属性

    我已经在输出窗口中出现的这个错误上搜索了几个小时 我对 WPF 中的绑定还很陌生 所以我确信我缺少一些东西 错误全文 每个绑定路径都有一个 都与此类似 System Windows Data 错误 39 BindingExpression
  • IOS:可以在每个角上使用不同的值来舍入半径

    我想圆润我的UIView具有这样的价值 top left radius 20 bottom right radius 5 bottom left radius 5 and top right radius 10 For rounder UI
  • 与 ItemControl 的双向绑定

    我正在尝试编写一个具有 ItemsControl 的用户控件 其中的 ItemsTemplate 包含一个允许 TwoWay 绑定的 TextBox 但是 我一定在代码中的某个地方犯了错误 因为绑定似乎仅在 Mode OneWay 时才起作
  • 在 unix 中使用 shell 脚本从文件名中提取日期

    我正在研究 shell 脚本 我想从文件名中提取日期 文件名是 abcd 2014 05 20 tar gz 我想从中提取日期 2014 05 20 echo abcd 2014 05 20 tar gz grep Eo digit 4 d