ncrcat: 경고는 원격 파일 시스템에서 /*.nc를 검색하지 않고 대신 로컬 파일 *.nc를 사용합니다.

ncrcat: 경고는 원격 파일 시스템에서 /*.nc를 검색하지 않고 대신 로컬 파일 *.nc를 사용합니다.

원격 서버에서 다음 스크립트를 실행하고 있습니다.

awk '{sub(/.nc$/, ""); print}' Time012010star.txt > Star.txt #remove .nc
awk '{sub(/.nc$/, ".nc.gz"); print}' Time012010star.txt > StarGZ.txt # add .gz

TempsModel=$(wc -l < TempsModel.txt)  #"$(ls -lq *_??????.nc | wc -l)"
outputNumber=$(wc -l < Time012010star.txt)


UarrI1=$(sed -n $index'p' uI1.txt)
UarrI2=$(sed -n $index'p' uI2.txt)
UarrJ1=$(sed -n $index'p' uJ1.txt)
UarrJ2=$(sed -n $index'p' uJ2.txt)

VarrI1=$(sed -n $index'p' vI1.txt)
VarrI2=$(sed -n $index'p' vI2.txt)
VarrJ1=$(sed -n $index'p' vJ1.txt)
VarrJ2=$(sed -n $index'p' vJ2.txt)

TarrI1=$(sed -n $index'p' tI1.txt)
TarrI2=$(sed -n $index'p' tI2.txt)
TarrJ1=$(sed -n $index'p' tJ1.txt)
TarrJ2=$(sed -n $index'p' tJ2.txt)

# from all the netcdf files extract the vel_u (and eventually vel_v) with the indices that are in *I1.txt and *J1.txt
for ((index=1; index<=$outputNumber; index++)) #size de I.txt 
do


TimeNC=$(sed -n $index'p' Time012010star.txt) #TempsModel.txt
Time=$(sed -n $index'p' Star.txt)
TimeGZ=$(sed -n $index'p' StarGZ.txt)

scp -r /home/elisev/QUANTUM/Jan2010/${TimeGZ}  /home/elisev/ScriptsLinux/SOLA/Scripts/${TimeGZ} #copy remote file locally
gunzip /home/elisev/ScriptsLinux/SOLA/Scripts/${TimeGZ}

    ncrcat -C -F -d nj_u,$UarrJ1,$UarrJ2 -d ni_u,$UarrI1,$UarrI2 -v vel_u /${TimeNC} u${Time}.nc 
    ncrcat -C -F -d nj_v,$VarrJ1,$VarrJ2 -d ni_v,$VarrI1,$VarrI2 -v vel_v /${TimeNC} v${Time}.nc
    ncrcat -C -F -d nj_w,$TarrJ1,$TarrJ2 -d ni_w,$TarrI1,$TarrI2 -v w /${TimeNC} w${Time}.nc
    ncrcat -C -F -d nj_t,$TarrJ1,$TarrJ2 -d ni_t,$TarrI1,$TarrI2 -v sal /${TimeNC} sal${Time}.nc
    ncrcat -C -F -d nj_t,$TarrJ1,$TarrJ2 -d ni_t,$TarrI1,$TarrI2 -v tem /${TimeNC} tem${Time}.nc

    echo "${Time}"
rm  /home/elisev/ScriptsLinux/SOLA/Scripts/${TimeNC} 
done
echo "Loop is done"

첫 번째 파일을 올바르게 복사했지만 다음 오류가 발생했습니다.

ncrcat: WARNING not searching for /20100101_0020*.nc on remote filesystem, using local file 0100101_0020*.nc instead
ncrcat: WARNING not searching for /20100101_0020*.nc on remote filesystem, using local file 0100101_0020*.nc instead
ncrcat: WARNING not searching for /20100101_0020*.nc on remote filesystem, using local file 0100101_0020*.nc instead
ncrcat: WARNING not searching for /20100101_0020*.nc on remote filesystem, using local file 0100101_0020*.nc instead
ncrcat: WARNING not searching for /20100101_0020*.nc on remote filesystem, using local file 0100101_0020*.nc instead

파일을 생성하지만 0100101_0020*.nc라는 파일이 없는 것 같아서 무엇인지 모르겠습니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

해결책을 찾았습니다. 분명히 모든 폴더가 있는 동일한 디렉터리에서 스크립트를 실행하더라도 폴더 경로를 명시적으로 알려주어야 하므로 다음 줄은 다음과 같습니다.

ncrcat -C -F -d nj_u,$UarrJ1,$UarrJ2 -d ni_u,$UarrI1,$UarrI2 -v vel_u /${TimeNC} u${Time}.nc

될 필요가

crcat -C -F -d nj_u,$UarrJ1,$UarrJ2 -d ni_u,$UarrI1,$UarrI2 -v vel_u path/to/file/${TimeNC} u${Time}.nc

관련 정보