我有一个像这样的文件名列表:
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
我需要先取两个零零,然后尝试
timestep=${filename:34:36}
但这不起作用。
我有些惊讶,因为我在其他脚本中使用了相同的方法,但是我从未遇到过问题。
谢谢
timestep="${filename:34:2}"
2
是长度。
来自man bash
:
${parameter:offset:length}
:子字符串扩展。从offset指定的字符开始,扩展到参数值的最大长度字符。 [...]