[英]parsing urls from a text file to bash shell array
我有一个包含许多网址的文本文件
www.example1.com
www.example2.com
www.example3.com
www.example4.com
我 go 如何遍历它,并将每个 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
如果你想让数组在你的脚本中而不是读取文件,你可以使用这种方法。
#!/bin/bash
array=(
"www.example1.com"
"www.example2.com"
"www.example3.com"
"www.example4.com"
)
for URL in "${array[@]}"; do
echo "$URL"
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.