如何将包含六列的 dat 文件中的值读取到另一个文件中?

如何将包含六列的 dat 文件中的值读取到另一个文件中?

所以我有一个文件,其中包含不同列中六个不同事物的数据:

1   0.020   0.700   5.4 1500    4000
2   0.020   0.700   5.4 1500    4050
3   0.020   0.700   5.4 1500    4100
4   0.020   0.700   5.4 1500    4150
5   0.020   0.700   5.4 1500    4200

我想将六列中的值读取到我当前在下面设置的第二个文件中。我打算使用这些作为输入来读入第三个文件“inlist_changer.sh”文件。我很抱歉,但我对 shell 脚本编写不是很有经验,所以也许除此之外,您可能知道一种更有效的方法,让我甚至不重复交换bashEOT命令。


bash inlist_changer.sh<<EOT
placeholder_value1
EOT
bash inlist_changer.sh<<EOT
placeholder_value2
EOT
bash inlist_changer.sh<<EOT
placeholder_value3
EOT
bash inlist_changer.sh<<EOT
placeholder_value4
EOT
bash inlist_changer.sh<<EOT
placeholder_value5
EOT
bash inlist_changer.sh<<EOT
placeholder_value6
EOT
./mk
./rn
bash inlist_changer.sh<<EOT
placeholder_value1
EOT
bash inlist_changer.sh<<EOT
placeholder_value2
EOT
bash inlist_changer.sh<<EOT
placeholder_value3
EOT
bash inlist_changer.sh<<EOT
placeholder_value4
EOT
bash inlist_changer.sh<<EOT
placeholder_value5
EOT
bash inlist_changer.sh<<EOT
placeholder_value6
EOT
./rn
bash inlist_changer.sh<<EOT
placeholder_value1
EOT
bash inlist_changer.sh<<EOT
placeholder_value2
EOT
bash inlist_changer.sh<<EOT
placeholder_value3
EOT
bash inlist_changer.sh<<EOT
placeholder_value4
EOT
bash inlist_changer.sh<<EOT
placeholder_value5
EOT
bash inlist_changer.sh<<EOT
placeholder_value6
EOT
./rn

答案1

假设具有六列输入的第一个文件名为“analysis.dat”。我会像这样修改我的第二个文件吗?请注意,我想为输入文件中的每一行调用一个脚本。

while read -ra fields; do
    for field in "${fields[@]}"; do
        bash inlist_changer.sh <<<"$field"
    done
    ./mk
    ./rn
done < analysis.dat

相关内容