我正在研究 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
输入为echo
stdin 或者你也可以使用cat
命令(如果文件中有这些字符串)。
-E
将 PATTERN 解释为扩展正则表达式。
-o
仅显示匹配行中与 PATTERN 匹配的部分。
[[:digit:]]
它只会从输入中获取数字。
{N}
它将检查给定字符串中的 N 个数字,i.e.:4 代表年份 2 代表月份和日期
最重要的是,它将在不使用任何分隔符(例如“_”和“.”)的情况下进行获取。这就是为什么它是最灵活的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)