0

我有一个这样的文件名列表:

REG_2016120200hourly_d01_20161202_00_00_00.nc

这个名字我想提取并放入一个变量:

1)日期20161202

    for file in /path/*;
    do
     filename=$(basename -- "$file")
     date=${filename:4:8}
     echo $date
    done

这是有效的,脚本给了我20161202,我不知道为什么

2)时间步长 00

我需要取前两个零 00,我正在尝试

timestep=${filename:34:36}但这不起作用。

我有点惊讶,因为我在其他脚本中使用了相同的方法,而且我从来没有遇到过问题。

谢谢

4

1 回答 1

1
timestep="${filename:34:2}"

2是长度。


来自man bash

${parameter:offset:length}: 子串扩展。从 offset 指定的字符开始扩展到参数值的最大长度字符。[...]

于 2020-02-21T21:51:34.023 回答