如何在 shell 脚本中从 .dat 文件读取和写入变量?

How to read and and write variables from a .dat file in shell script?

我有一个三列的 .dat 文件,我想在 .sh 文件中读取它。然后我想通过使用这些变量来计算 .sh 文件中的内容。

我有一个 parameters.dat 文件,例如

5.6 1.5 9.5 
2.6 5.9 3.9
11.6 13.7 2.1

最初,我通过生成一些随机数来实现同样的目的。现在,我不想使用随机数,而是想使用已经存在的数据文件来执行此操作。

#!/bin/bash


rm scan1.par


for i1 in {1..10..1}

do

 mms1p=$(python -c "import random;print(random.uniform(1, 100))")
 mms2p=$(python -c "import random;print(random.uniform(1, 100))")
 mms3p=$(python -c "import random;print(random.uniform(1, 1000))")


echo mms1p $mms1p >  scan1.par
echo mms2p $mms2p >> scan1.par 
echo mms3p $mms3p >> scan1.par

omg=$(./main scan1.par)

echo $omg >> scan1_result.dat
echo $mms1p $mms2p $mms3p >> scan1_para.dat


done

你能帮我解决这件事吗? 提前致谢。

Now, instead of using the random numbers I want to use an already existing data file to do this.

然后read the file line by line, field by field:

#!/bin/bash
while read -r mms1p mms2p mms3p; do
   : your script that uses mms1p mms2p mms3p variables
done < parameters.dat

How to read and and write variables from a .dat file in shell script?

你把变量写入文件的方法是可以的。之后使用与上述相同的方法逐行逐字段读取文件。如果您需要同时读取两个文件,请使用 ex。 paste scan1_result.dat scan1_para.dat 将文件的行合并在一起,然后逐行逐字段读取它们。