【问题标题】:error compressing netcdf files using nccopy through a loop通过循环使用nccopy压缩netcdf文件时出错
【发布时间】:2021-12-28 12:56:57
【问题描述】:

我正在尝试通过循环压缩不同文件夹中的多个 netcdf 文件。

for i in `find . -iname 'wrfout*'`;
do
echo $i
time nccopy -d5 -s $i d_${i} 

当我运行此代码时,我收到一条错误消息 “./wrfout_d04_2011-08-13_00:00:00 没有权限 位置:文件../../ncdump/nccopy.c;第 1429 行"。 但是,当我为单个文件运行循环中的最后一行时,它运行时没有任何错误消息。我已将执行文件的权限模式检查为“777”以确保,但错误仍然存​​在。对此有任何帮助。

【问题讨论】:

    标签: unix compression netcdf


    【解决方案1】:

    您的 bash 语法表明您的输出文件名将类似于 'd_./wrfout_d04_2011-08-13_00:00:00'

    建议:

    nccopy -d5 -s $i $(dirname $i)/d_$(basename $i) 
    

    【讨论】:

    • 非常感谢。 'find' 的使用是递归的,因此它会遍历原始目录中的所有子目录以识别并列出具有基本名称的文件。有没有办法这样写,以便它可以分隔基本名称并附加额外的名称以区分原始文件和压缩文件?
    • dirnamebasename 的组合应该与您原来的 find 命令一起实现这一点,除非我误解了您的要求。新文件以d_ 为前缀到同一目录中。
    • @罗伯特。更改按描述进行。非常感谢。
    猜你喜欢
    • 2011-02-05
    • 2021-02-11
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 2018-01-10
    • 1970-01-01
    • 2020-04-01
    相关资源
    最近更新 更多