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

时间:2015-09-14 13:11:30

标签: linux bash unix awk sh

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

使用问题中提供的一些格式将注释转换为问题中的信息。

我有一个文本文件abc.txt

apple jobs
microsoft gates

我希望$var中的'apple',$var2中的'jobs'来自第一行;迭代时同样的事情应该在同一$var$var2给我'微软'和'门'。当我使用时:

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

它在varvar2和'门'给我'苹果','工作'和'微软'。

1 个答案:

答案 0 :(得分:3)

假设您输入文件为

$ cat var2
a b
c d

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

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

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