所以我有一个文件,其中包含不同列中六个不同事物的数据:
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 脚本编写不是很有经验,所以也许除此之外,您可能知道一种更有效的方法,让我甚至不重复交换bash
和EOT
命令。
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