디렉터리의 각 파일(55개 파일)에 해당하는 55개의 데이터 포인트가 포함된 파일이 있습니다. 파일에서 줄을 읽고 고유한 해당 파일에 사용하는 루프를 어떻게 만들 수 있습니까? 예를 들어
Lag data
0
0
0.2
0.4
Files names in directory
132_bhz.sac
142_bhz.sac
152_bhz.sac
162_bhz.sac
내가 하고 싶은 것
Get value from lag data and used in corresponding files and complete the loop
e.g
get 0 and used 132.bhz.sac complete the loop
get 0.4 and used 164.bhz.sac as we same numbers of values and files.
이 방법을 시도했지만 각 파일에 대해 하나의 값을 사용하지만 하나의 값만 읽은 다음 루프를 완료하고 파일에서 다른 값을 가져와야 합니다.
내 시도는 다음과 같습니다.
while read line && [ "$line" != "" ];
do
echo $line
lagtime=$(echo $line |awk '{print $1}') ;
echo $lagtime "lag"
input_dir=~/Aqeel_practice/NCCF_land_Data/Land_Data/ML_G7
for stnm in $input_dir/ML65/2020/*
do
#cd $stnm
echo $stnm
done
done <lag_data.txt
답변1
고마워요, 또 다른 실수를 저질렀어요. 파일 이름과 지연 시간을 하나의 파일로 결합하여 이 문제를 해결했습니다. 따라서 행을 읽을 때 해당 파일 이름도 가져와서 루프에서 사용합니다.
귀하의 지원에 진심으로 감사드립니다.