2

多くの URL を含むテキスト ファイルがあります。

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

それを繰り返し処理し、各 URL を配列インスタンスに解析するにはどうすればよいでしょうか。

すなわち

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

1 つの懸念事項( $(< file.txt) )は、ファイル内の行に空白を含めることができるかどうかです。から生成された配列を考えてみましょう

a b
c
d

配列には 3 つではなく 4 つの要素があります。URL に空白を含めることはできないため、ここでは問題になりません。一般的なケースとして、bash4 は、mapfile各行が配列の 1 つの要素を提供することを保証するコマンドを提供します。

mapfile array < file.txt

次のループをワンステップで置き換えます。

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