我有一个这个名字的文件 ims2015255_4km_GIS_v1.3.png所以它显示了2015年的255天。
我想将此文件自动重命名为
SNC_obs_YYMMDD0000.png始终为0000的时间
非常感谢。
答案 0 :(得分:1)
解析原始名称非常简单。
input=ims2015255_4km_GIS_v1.3.png
[[ $input =~ ims(....)(...)_ ]] && year=${BASH_REMATCH[1]} day=${BASH_REMATCH[2]}
将其转换为新日期可能会更棘手。但是,如果你有GNU date
,你可以使用
output=$(date --date "$year-1-1 + $(($day - 1)) days" +"SNC_obs_%Y%m%d0000.png")
如果您未使用bash
且仅限于POSIX指定的功能,请尝试以下操作设置year
和day
。
tmp=${input#ims}
tmp=${tmp%%_*}
year=${tmp%???}
day=${tmp#????}