Bash array iteration

本文介绍了一段使用bash脚本实现的任务,该脚本通过遍历多个参数,包括线程数、文件大小和超时时间,对指定URL下的文件进行批量操作,并记录运行时间和输出结果。
#!/bin/bash

OD=output
URL=http://www.ug.it.usyd.edu.au/~ygao6590/
# T: threads
t=( 1 2 3 )
#t=( 1 )
# F: files
f=( "50k" "100k" "200k" )
#f=( "50k" )
# S: timeout (secs)
s=( 5 10 15 20 25 )
#s=( 5 )

tidx=0
fidx=0
sidx=0

while [ "$tidx" -lt ${#t[@]} ]; do
  T=${t[$tidx]}
  echo "T:  ${T}"
  fidx=0
  while [ "$fidx" -lt ${#f[@]} ]; do
    F=${f[$fidx]}
    echo " F:  ${F}"
    sidx=0
    while [ "$sidx" -lt ${#s[@]} ]; do
      S=${s[$sidx]}
      echo "  S:  ${S}"
      U="${URL}${F}";
      /usr/bin/time ./ad "$U" "$T" "$S" > "${OD}/${F}_${T}_${S}.out" 2>"${OD}/${F}_${T}_${S}.time"
      #echo "${OD}/${f}_${T}_${S}.time"
      sidx=$((sidx+1))
    done # s
    fidx=$((fidx+1))
  done # f
  tidx=$((tidx+1))
done # t

📁 检测到 pp 变量名: 'pp' 📁 检测到 zmeso 变量名: 'lev_bnds' 🔍 调试信息开始 ================================================== ✅ aligned_pp 名称: pp ✅ aligned_zmeso 名称: lev_bnds 📊 aligned_pp 维度形状: {'time': 648, 'lev': 15, 'lat': 1, 'lon': 1} 📊 aligned_zmeso 维度形状: {'time': 648, 'lev': 50, 'bnds': 2, 'lat': 1, 'lon': 1} 🔧 aligned_pp 所有维度: ['time', 'lev', 'lat', 'lon'] 🔧 aligned_zmeso 所有维度: ['time', 'lev', 'bnds', 'lat', 'lon'] ⚠️ 共同维度 'lev': 长度分别为 15 和 50 ❌ 不匹配!无法直接广播 'lev' 维度 ⚠️ 共同维度 'lat': 长度分别为 1 和 1 ✅ 匹配 ⚠️ 共同维度 'time': 长度分别为 648 和 648 ✅ 匹配 ⚠️ 共同维度 'lon': 长度分别为 1 和 1 ✅ 匹配 🔄 尝试修复并计算乘积... 💡 zmeso 的 month_str 维度正常,无需 squeeze ❌ 运算失败: Cannot apply_along_axis when any iteration dimensions are 0 Traceback (most recent call last): File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\DC-run\8.27程序包\耦合运算.py", line 77, in <module> product = aligned_pp * zmeso_fixed * 2592000 # 单位转换因子 File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\_typed_ops.py", line 552, in __mul__ return self._binary_op(other, operator.mul) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\dataarray.py", line 4845, in _binary_op f(self.variable, other_variable_or_arraylike) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\_typed_ops.py", line 935, in __mul__ return self._binary_op(other, operator.mul) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2358, in _binary_op self_data, other_data, dims = _broadcast_compat_data(self, other) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2961, in _broadcast_compat_data if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]): File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2961, in <genexpr> if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]): File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 436, in data duck_array = self._data.get_duck_array() File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 843, in get_duck_array self._ensure_cached() File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 840, in _ensure_cached self.array = as_indexable(self.array.get_duck_array()) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 797, in get_duck_array return self.array.get_duck_array() File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 652, in get_duck_array array = self.array[self.key] File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\backends\netCDF4_.py", line 108, in __getitem__ return indexing.explicit_indexing_adapter( File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 1021, in explicit_indexing_adapter result = raw_indexing_method(raw_key.tuple) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\backends\netCDF4_.py", line 121, in _getitem array = getitem(original_array, key) File "src\\netCDF4\\_netCDF4.pyx", line 5055, in netCDF4._netCDF4.Variable.__getitem__ File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\netCDF4\utils.py", line 429, in _StartCountStride start[...,i] = np.apply_along_axis(lambda x: e*x, i, np.ones(sdim[:-1])) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\numpy\lib\_shape_base_impl.py", line 390, in apply_along_axis raise ValueError( ValueError: Cannot apply_along_axis when any iteration dimensions are 0
09-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值