Bash:使用awk将textfile中的文本添加到变量中

时间:2015-10-12 09:29:40

标签: bash variables text awk

我正在尝试使用我的bash脚本中的文本文件中的值

AantalUsers=$(cat newusers.txt | wc -l) 
echo $AantalUsers
lijstUsername="" 
lijstWachtwoord=""

for ((i = 0 ; i < $AantalUsers ; i++ )); 
do
  lijstUsername=`awk -F" " '{print $1}' test.txt` 
  lijstWachtwoord=`awk -F" " '{print $2}' test.txt` 
done <test.txt 

echo $lijstUsername 
echo $lijstWachtwoord

我的文本文件如下所示:

enter image description here

这是我得到的输出:

enter image description here

第一个列表效果很好但是对于第二个列表我只得到文本文件的最后一个值。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您可以使用此awk命令:

awk '{
   for (i=1; i<=NF; i++)
     a[i,NR] = $i;
   n = (n < NF ? NF : n)
}
END {
  for (i=1; i<=n; i++)
     for (j=1; j<=NR; j++)
        printf "%s%s", a[i,j], (j==NR?ORS:OFS)
}' file

<强>输出:

user1 user2 user3
user1pass user2pass user3pass