如何从指定文件名中仅提取时间戳?示例:rms_mm_store_sales_20230228998765.dat.gz
提取文件名中的时间戳方法
针对文件名 rms_mm_store_sales_20230228998765.dat.gz,可以用以下几种方式提取其中的时间戳 20230228998765:
命令行工具方法
1. 使用 awk 命令
通过两次分割实现:先按 . 拆分去掉扩展名,再按 _ 拆分取最后一段内容:
echo "rms_mm_store_sales_20230228998765.dat.gz" | awk -F'.' '{print $1}' | awk -F'_' '{print $NF}'
2. 使用 sed 命令
利用正则表达式捕获数字部分:
echo "rms_mm_store_sales_20230228998765.dat.gz" | sed 's/.*_\([0-9]*\)\.dat\.gz/\1/'
Python 脚本方法
1. 字符串分割法
通过拆分扩展名和下划线获取目标内容:
filename = "rms_mm_store_sales_20230228998765.dat.gz" # 移除.gz和.dat扩展名,得到主文件名 main_name = filename.rsplit('.', 2)[0] # 按下划线分割取最后一段 timestamp = main_name.split('_')[-1] print(timestamp) # 输出: 20230228998765
2. 正则匹配法
用正则表达式精准匹配下划线后的数字序列:
import re filename = "rms_mm_store_sales_20230228998765.dat.gz" match_result = re.search(r'_(\d+)\.dat\.gz', filename) if match_result: print(match_result.group(1)) # 输出: 20230228998765
内容的提问来源于stack exchange,提问作者Gyari
相关产品推荐
相关产品推荐

