关于linux:Shell脚本用于分隔每行中的值并将其放在两个变量中

Shell script to separate values in each line and put it in two variables

本问题已经有最佳答案,请猛点这里访问。

我有一个文本文件,每行有两个值。我需要将这两个值放在两个不同的变量中,即var和var2,并对每一行做进一步的处理。分隔符是两个变量之间的空格。

注释使用问题中可用的某些格式转换为问题中的信息。

我有一个文本文件,abc.txt

1
2
apple jobs
microsoft gates

我要"苹果"在$var中,"乔布斯"在$var2中从第一行开始;同样的事情,当迭代时,应该给我"微软"和"盖茨"在同一个$var$var2中。当我使用时:

1
var=`awk -F' ' '{print $1}' abc.txt`

它给了我"苹果"、"乔布斯"和"微软"在var和"盖茨"在var2中。


假设输入文件为

1
2
3
$ cat var2
a b
c d

如果要将每行中的两个值赋给两个变量并在循环中操作它们,可以这样做。

1
2
3
$ while read a b; do echo"two vars are:" $a $b; done < var2
two vars are:  a b
two vars are:  c d

每次迭代都将重新分配源文件中的值。