
Итак, у меня есть несколько больших файлов данных, которые соответствуют температуре и пару в форме tmp_information_about_dataset.file и vap_information_about_dataset.file
Итак, для каждого файла tmp_... существует соответствующий файл vap_..., я буду использовать оба набора данных для выполнения некоторых вычислений, а затем сгенерирую соответствующий выходной файл в форме out_information_about_dataset.file
Для ясности: каждая пара файлов tmp/vap после информации о наборах данных (т. е. любые символы после tmp или vap) идентичны, поэтому я также хочу, чтобы символы после out
были идентичны информации о наборах данных, из которых они были сгенерированы. Например:
tmp_123ABC456_model1_2010.nc
vap_123ABC456_model1_2010.nc
out_123ABC456_model1_2010.nc
tmp_123CDF_model2_2010.nc
vap_123CDF_model2_2010.nc
out_123CDF_model2_2010.nc
Есть ли способ, с помощью которого я могу взять все файлы в словаре, выполнить расчет по совпадающим парам и назвать выходной файл идентичным именем файла после первых 3 символов?
Я думал о чем-токак этот ответ здесь будет работатьНо тот факт, что мне нужно использовать два файла с соответствующими именами, а не любой файл в словаре, а также хочу получить отдельные выходные файлы, немного сбивает меня с толку.
решение1
Сначала пройдемся по всем tmp_
файлам:
for file in tmp_*; do
затем для каждого tmp_
файла можно получить соответствующий vap_
файл с помощью vap${file#tmp}
- сначала ${file#tmp}
удаляется префикс tmp (сама переменная не изменяется), затем результат объединяется с vap
.
for file in tmp_*; do ./process_stuff "${file}" "vap${file#tmp}" > "out${file#tmp}"; done