シェルスクリプトから.datファイル列の値を読み取るには?

シェルスクリプトから.datファイル列の値を読み取るには?

したがって、異なる列に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 builtinsman bashman sh

おすすめ記事