我有一个包含许多 url 的文本文件
www.example1.com
www.example2.com
www.example3.com
www.example4.com
我将如何遍历它,并将每个 url 解析为一个数组实例..
IE
array[0]
array[1]
array[2]
array[3]
多谢你们
纯 bash 方式:
array=($(<inFile))
然后:
# list all the elements of array
echo "${array[@]}"
# echo num of elements in array
echo ${#array[@]}
## OR loop through the above array
for i in "${array[@]}"
do
echo $i # or do whatever with individual element of the array
done
# 1st element of array
echo ${array[0]}
# 2nd element of array
echo ${array[2]}
# ...
一个问题( $(< file.txt) )
是文件中的一行是否可以包含空格。考虑从产生的数组
a b
c
d
该数组将有 4 个元素,而不是 3 个。URL 不能包含空格,所以这不是问题。对于一般情况,bash
4 提供了一个mapfile
命令,可确保每行为数组提供一个元素。
mapfile array < file.txt
是以下循环的一步替换:
while IFS= read -r line; do
array+=( "$line" )
done < file.txt