NCO: изменить значение атрибута переменной на новую строку, содержащую пробел

У меня есть файл netCDF FORCING.nc, который содержит переменную time со значением атрибута units: hours since 2007-12-28 22:00:00. В коде Python это выглядит следующим образом:

from netCDF4 import Dataset
Dataset('FORCING.nc')["time"]

и вывод:

Out[3]: 
<class 'netCDF4._netCDF4.Variable'>
float32 time(time)
    units: hours since 2007-12-28 22:00:00
unlimited dimensions: 
current shape = (13,)
filling on, default _FillValue of 9.969209968386869e+36 used

И я хочу изменить атрибут units с hours since 2007-12-28 22:00:00 на hours since 1996-01-01 22:00:00. А 1996-01-01 22:00:00 происходит от переменной $start_date в скрипте bash.

Итак, я хочу использовать что-то вроде:

ncatted -a units,time,o,c,'hours since '$start_date FORCING.nc

который дает аргумент 'hours since '+$start_date команде then catted, на самом деле это 'hours since 1996-01-01 22:00:00' . Но я получил сообщение об ошибке, например:

ncatted: ERROR file start_date not found. It does not exist on the local filesystem, nor does it match remote filename patterns (e.g., http://foo or foo.bar.edu:file).
ncatted: HINT file-not-found errors usually arise from filename typos, incorrect paths, missing files, or capricious gods. Please verify spelling and location of requested file. If the file resides on a High Performance Storage System (HPSS) accessible via the 'hsi' command, then add the --hpss option and re-try command.

Я предполагаю, что это потому, что между «часами с 2007-12-28» и «22:00:00» есть пробел. Если я использую ncatted -a units,time,o,c,'hours since 2007-12-28 22:00:00' FORCING.nc, он работает нормально. Но как я могу использовать $start_date? потому что start_date меняется каждый раз, когда я запускаю код...

Спасибо!

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
16
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы близко! Пытаться

ncatted -a units,time,o,c,'hours since '"$start_date" FORCING.nc

Правила цитирования оболочки. Не могу жить с ними, не могу жить без них.

Спасибо! Но не могли бы вы показать мне, в чем разница между "" и ''? А что вы подразумеваете под Can't live with 'em, can't live without 'em?

Xu Shan 10.04.2022 11:45

Другие вопросы по теме