Một tập lệnh lấy một URL, phân tích cú pháp nó cho các trường bắt buộc và chuyển hướng đầu ra của nó để được lưu trong tệp, file.txt . Đầu ra được lưu trên một dòng mới mỗi khi một trường được tìm thấy.
file.txt
A Cat
A Dog
A Mouse
etc...
Tôi muốn lấy file.txt
và tạo một mảng từ nó trong một tập lệnh mới, nơi mỗi dòng trở thành biến chuỗi của riêng nó trong mảng. Cho đến nay tôi đã thử:
#!/bin/bash
filename=file.txt
declare -a myArray
myArray=(`cat "$filename"`)
for (( i = 0 ; i < 9 ; i++))
do
echo "Element [$i]: ${myArray[$i]}"
done
Khi tôi chạy tập lệnh này, khoảng trắng dẫn đến các từ bị tách ra và thay vì nhận được
Kết quả mong muốn
Element [0]: A Cat
Element [1]: A Dog
etc...
Tôi cuối cùng nhận được điều này:
Sản lượng thực tế
Element [0]: A
Element [1]: Cat
Element [2]: A
Element [3]: Dog
etc...
Làm cách nào để điều chỉnh vòng lặp bên dưới để toàn bộ chuỗi trên mỗi dòng sẽ tương ứng 1-1 với mỗi biến trong mảng?