我有一个文件,其中包含 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
谢谢亲爱的,我又犯了一个错误。我通过将文件名和滞后时间合并在一个文件中解决了这个问题。因此,当它读取该行时,它还会获取相应的文件名并在循环中使用它,
非常感谢你的支持。