繁体   English   中英

从文件中提取数字

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM