したがって、異なる列に6つの項目のデータを含むファイルがあります。
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
6列の値を以下に現在設定されている2番目のファイルに読み込みたいと思います。私はこれを3番目のファイル "inlist_changer.sh"ファイルから読み取るための入力として使用する予定です。申し訳ありません。私はシェルスクリプトの経験があまりないので、他にもスワップや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
シェルread
コマンドを使用すると、中間ファイルを変更せずに操作を実行できます。
#!/bin/bash
while read v1 v2 v3 v4 v5 v6 ; do
echo "v1:$v1 v2:$v2 v3$v3 v4:$v4 v5:$v5 v6:$v6"
done < /path/to/data-file.dat
read
シェルインスタンスでコマンドを実行して、そのコマンドのドキュメントを表示できますhelp read
。もちろん、デフォルトのシェルを実行したりコマンドを実行したりすると、いつでもより多くの文書を入手できますman builtins
。man bash
man sh