따라서 서로 다른 열에 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 bash
man sh