2

我有一个包含许多 url 的文本文件

www.example1.com
www.example2.com
www.example3.com
www.example4.com

我将如何遍历它,并将每个 url 解析为一个数组实例..

IE

array[0]
array[1]
array[2]
array[3]

多谢你们

4

2 回答 2

8

纯 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]}

# ...
于 2013-06-09T07:49:46.580 回答
1

一个问题( $(< file.txt) )是文件中的一行是否可以包含空格。考虑从产生的数组

a b
c
d

该数组将有 4 个元素,而不是 3 个。URL 不能包含空格,所以这不是问题。对于一般情况,bash4 提供了一个mapfile命令,可确保每行为数组提供一个元素。

mapfile array < file.txt

是以下循环的一步替换:

while IFS= read -r line; do
    array+=( "$line" )
done < file.txt
于 2013-06-09T14:01:38.877 回答