【问题标题】:MODIS batch renameMODIS 批量重命名
【发布时间】:2014-09-10 11:51:17
【问题描述】:

我有一大组 MODIS 文件,按年份命名如下。

MOD11B1.A2000065.h24v05.005.2007176161243.hdf

我想使用 Linux shell 或其他任何方式重命名这些文件,使文件名变为

MOD11B.AYYYY.MM.DD 

【问题讨论】:

  • 您能解释一下原始文件名格式吗? YYYY、MM 和 DD 分别位于哪里?
  • 您应该提供有关其他可能格式的更多详细信息。

标签: bash rename


【解决方案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 文件的简单循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2013-12-19
    • 2013-07-01
    • 2012-07-12
    相关资源
    最近更新 更多