我有一个三列的.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
在这件事上,您能帮我吗? 提前致谢。
答案 0 :(得分:0)
现在,我不想使用随机数,而是想使用一个已经存在的数据文件来做到这一点。
然后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
如何在Shell脚本中从.dat文件读取和写入变量?
您可以将变量写入文件的方法。之后,使用与上述相同的方法逐行,逐字段读取文件。如果您需要同时读取两个文件,请使用ex。 paste scan1_result.dat scan1_para.dat
将文件的行合并在一起,然后逐行逐行读取它们。