将数字增量添加到变量

时间:2014-03-15 09:21:22

标签: shell unix while-loop ksh

我有一个行数为N的文件。我需要读取每一行并将其存储在变量中。 例如,var1中的Firstline,var2中的Secondline等

我尝试了以下while循环,

count=1;
while read line  
do  
var$count=`echo $line`  
echo -e "$var`$count`"  
done< input.txt 

在上面的代码中,我在上面的一行中遇到错误!

如何使用另一个引用变量引用变量?

在这里,我只是回应但实际上我希望存储在变量中的值进行一些算术计算(比如计算时间平均值)。

2 个答案:

答案 0 :(得分:4)

正如Mark Setchell所说,阵列是更好的解决方案。它们也可以在KSh中找到:

set -A lines
count=1
while read line; do
    lines[$count]=$line
    echo -e ${lines[$count]}
    count=$(( $count + 1 ))
done < input.txt

有关详细信息,请查看来自O&#39; Reilly&#34;了解Korn Shell&#34;的simple introduction with examplesthis chapter。书。

答案 1 :(得分:0)

在bash或ksh中使用数组:

array=( $(< input.txt) )

echo ${array[0]} # first element
echo ${array[1]} # second element

echo ${#array[*]} # length

请参阅here