我的文件名格式如下:
Master.csv-yyyy-mm-dd.txt
example:- Master.csv.2016-07-06.txt
我想要以下列格式的子串。
YY-MM
请快速帮助我
答案 0 :(得分:1)
date_temp=$(echo Master.csv.2016-07-06.txt | awk -F. '{print $3}')
date -d"$date_temp" +%y-%m
16-07
答案 1 :(得分:1)
试试这个;
ls M*.txt | awk -F. '{print substr($3,3,5)}'
user@user:/tmp$ ls M*.txt
Master.csv.2016-07-05.txt Master.csv.2016-07-06.txt
user@user:/tmp$ ls M*.txt | awk -F. '{print substr($3,3,5)}'
16-07
16-07
如果文件夹包含文件名为hello_2016-07-06.txt,则可以尝试此操作;
ls *.txt | grep -oP '[\d]+-[\d]+-[\d]+' | awk -F- '{print substr($1,3,2)"-"$2}'
答案 2 :(得分:0)
使用Python的一个班轮:
echo 'Master.csv.2016-07-06.txt' | xargs -I{} python -c "import re; print re.search('\d{2}\-\d{2}', '{}').group(0)"