我正在编写此脚本来计算输入文件中的一些变量。我无法弄清楚为什么它不计算数组中的元素(应该是500)但只计数1.
#initializing variables
timeout=5
headerFile="lab06.output"
dataFile="fortune500.tsv"
dataURL="http://www.tech.mtu.edu/~toarney/sat3310/lab09/"
dataPath="/home/pjvaglic/Documents/labs/lab06/data/"
curlOptions="--silent --fail --connect-timeout $timeout"
#creating the array
declare -a myWebsitearray #=('cut -d '\t' -f3 "dataPath$dataFile"')
#obtaining the data file
wget $dataURL$dataFile -O $dataPath$dataFile
#getting rid of the crap from dos
sed -e "s/^m//" $dataPath$dataFile | readarray -t $myWebsitesarray
readarray -t myWebsitesarray < <(cut -d, -f3 $dataPath$dataFile)
myWebsitesarray=("${#myWebsitesarray[@]:1}")
#printf '%s\n' "${myWebsitesarray2[@]}"
websitesCount=${#myWebsitesarray[*]}
echo $websitesCount
答案 0 :(得分:1)
您使用此行中的元素数覆盖数组
myWebsitesarray=("${#myWebsitesarray[@]:1}")
删除哈希符号
myWebsitesarray=("${myWebsitesarray[@]:1}")
另外,@ checkner建议很好。