小编典典

使用Shell脚本从UNIX中的文件名中提取日期

linux

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

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

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


阅读 1196

收藏
2020-06-07

共1个答案

小编典典

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

输出:

2014-05-20

grepechostdin 输入,或者cat如果文件中包含这些字符串,也可以使用command。

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

-o 仅显示匹配PATTERN的匹配线部分。

[[:digit:]] 它将仅从输入中获取数字。

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

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

2020-06-07