그래서 온도와 증기에 해당하는 tmp_information_about_dataset.file 및 vap_information_about_dataset.file 형식의 여러 빅데이터 파일이 있습니다.
따라서 각 tmp_... 파일에는 해당 vap_... 파일이 있으며 이 두 데이터 세트를 사용하여 몇 가지 계산을 수행한 다음 out_information_about_dataset.file 형식으로 해당 출력 파일을 생성하겠습니다.
out
명확하게 말하면, tmp/vap 파일의 각 쌍은 데이터 세트에 대한 정보(즉, tmp 또는 vap 뒤에 오는 모든 문자) 뒤에 동일하므로 그 뒤의 문자도 데이터 세트에 대한 정보와 동일 하기를 원합니다. 에서 생성됩니다. 예를 들어
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_
파일을 가져오고 tmp 접두사를 제거한 다음(변수 자체는 수정되지 않음) 결과를 사용할 수 있습니다.vap${file#tmp}
${file#tmp}
vap
for file in tmp_*; do ./process_stuff "${file}" "vap${file#tmp}" > "out${file#tmp}"; done