Shell脚本逐行提取数据并提供变量以便进一步使用

时间:2017-09-07 20:31:59

标签: bash shell sh

文件1 - > 主机名1

主机名2

hostname3

hostname4

我想编写一个bash脚本来提取这些主机名并将它们保存在变量中。

如下所示,但这不起作用

count=3
i=1
j=1
count=`expr $count + 1`
while [  $i -lt $count ]
do
        echo The counter is $i

        $j=`sed -n "$i,$i p;$i q" file1.txt`

    echo $i
    i=`expr $i + 1`
    j=`expr $j + 1`
echo $j << this should return hostname1 then hostname2
done

2 个答案:

答案 0 :(得分:0)

试试这个:

i=1

while read line ;

do 

Var$i=$line

i= ` expr $i + 1 `

done < inputFile

这应创建var1var2 ...并将每行分配给变量

否则也可以使用数组

i = 0

while read line ;

do 

arr[$i] = $line

i = `expr $i + 1`

done < inputFile

expr语法没有取回我的答案后面的刻度,请在使用时检查

答案 1 :(得分:0)

i=1
while read line ;
do
i=$line
echo $i
i=i+1
done < file.txt

上面的代码解决了我的问题。谢谢