[英]Extracting numbers from file
我有一个txt文件“ 80 50 65 100 2 35 1”,我需要将每个数字添加到Var中,甚至更好地将它们添加到数组中。 喜欢 ...
var1 = 80 var2 = 50
要么
数组[0] = 80
顺便说一句,后面的数字必须可以使用。 我的意思是我需要能够求和=例如$ var1 + $ var2。 有没有办法做到这一点 ? 谢谢!!
如果您的电话号码全都在线,请使用read
read -a array < numbers.txt
如果它们在多行上,则可以像这样更改行尾定界符
read -d'\0' -a array < numbers.txt
现在你有了一个数组
printf 'Number: %s\n' "${array[@]}"
哦,是的,总结一下。 一旦有了数组,有很多方法,但是如何
printf '%s + ' "${array[@]}" | xargs -I{} echo {} 0 | bc
或一站式完成
for n in "${array[@]}" ; do let sum+=$n ; done ; echo $sum
用bash可以说
array=( $(< numbers.txt) )
sum=$( IFS=+; echo "${array[*]}" | bc )
因此,如果您有nums.dat
这样的文件
80 50 65 100 2 35 1
您可以将它们读入数组
read -a MYARRAY < nums.dat
如果您的bash
甚至是ksh
都比较老,那么它就像(不记得完全对不起)
set -A MYARRAY $(cat nums.dat)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.