我有一大堆MODIS文件,按年份命名如下。
MOD11B1.A2000065.h24v05.005.2007176161243.hdf
我想使用Linux shell或其他任何文件名
来重命名这些文件MOD11B.AYYYY.MM.DD
答案 0 :(得分:1)
根据http://modis-atmos.gsfc.nasa.gov/products_filename.html,您的文件名格式为:
MOD11B1.A2000065.h24v05.005.2007176161243.hdf
MOD... A.......
YYYYDDD
这是一个简单的脚本(我认为):
#!/bin/bash
yyyymmdd () { date -d "$1-01-01 +$2 days -1 day" "+%Y.%m.%d"; }
for f in MOD*.hdf; do
YYYY=${f:9:4}
DDD=${f:13:3}
OUT="${f/.*/}".A$(yyyymmdd $YYYY $DDD)
mv "$f" "$OUT"
done
关键部分是从YYYYDDD
转换为YYYY.MM.DD
。我使用了基于之前答案的函数:https://superuser.com/a/232106/224101
否则,这是对MOD*.hdf
文件的简单循环。