쉘 스크립트에서 .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개 열의 값을 아래에 현재 설정한 두 번째 파일로 읽어오고 싶습니다. 나는 이것을 세 번째 파일인 "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 bashman sh

관련 정보