我有像这样的文件名
File Name_9.30.11.csv
File Name_11.30.13.csv
我想提取日期并加入201109
和201311
我该怎么做?
答案 0 :(得分:0)
您可以在文件名上使用正则表达式匹配并提取日期。根据示例文件名的格式,将示例代码转换为您指定的格式:
#!/bin/bash
fn='File Name_9.30.11.csv';
regex='([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})';
if [[ $fn =~ $regex ]]; then
mn="${BASH_REMATCH[1]}";
day="${BASH_REMATCH[2]}";
yr="${BASH_REMATCH[3]}";
dt=`date -d"$mn/$day/$yr" +%Y%m`
echo "date is: $dt";
fi