
Portanto, criei vários arquivos de dados grandes que correspondem à temperatura e ao vapor no formato tmp_information_about_dataset.file e vap_information_about_dataset.file
Portanto, para cada arquivo tmp_... há um arquivo vap_... correspondente, usarei os dois conjuntos de dados para realizar alguns cálculos e, em seguida, gerarei um arquivo de saída correspondente no formato out_information_about_dataset.file
Só para ficar claro, cada par de arquivos tmp/vap, após as informações sobre os conjuntos de dados (ou seja, quaisquer caracteres após tmp ou vap) são idênticos, então também quero que os caracteres posteriores out
sejam idênticos às informações sobre os conjuntos de dados dos quais ele foi gerado. por exemplo
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
Existe uma maneira de pegar todos os arquivos do dicionário, realizar o cálculo nos pares correspondentes e nomear o arquivo de saída com um nome de arquivo idêntico após os primeiros 3 caracteres?
Eu estava pensando em algocomo esta resposta aqui funcionariamas o fato de eu precisar usar dois arquivos com o nome correspondente, em oposição a qualquer arquivo no dicionário, bem como querer arquivos de saída separados, está me confundindo um pouco.
Responder1
Primeiro, itere sobre todos tmp_
os arquivos:
for file in tmp_*; do
então, para cada arquivo, você pode obter o arquivo tmp_
correspondente com - primeiro, remove o prefixo tmp (a variável em si não é modificada) e, em seguida, o resultado é concatenado com .vap_
vap${file#tmp}
${file#tmp}
vap
for file in tmp_*; do ./process_stuff "${file}" "vap${file#tmp}" > "out${file#tmp}"; done