Извлеките содержимое файла в массив с помощью Bash
Как извлечь содержимое файла в массив в Bash по строкам.
Каждая строка задается элементом.
Я пробовал это:
declare -a array=(`cat "file name"`)
но он не сработал, он извлекает целые строки в элемент [0] index
Ответ 1
Вы можете использовать цикл для чтения каждой строки вашего файла и поместить его в массив
# Read the file in parameter and fill the array named "array"
getArray() {
array=() # Create array
while IFS= read -r line # Read a line
do
array+=("$line") # Append line to the array
done < "$1"
}
getArray "file.txt"
Как использовать массив:
# Print the file (print each element of the array)
getArray "file.txt"
for e in "${array[@]}"
do
echo "$e"
done