从awk输出中读取两个变量

时间:2015-01-24 23:26:51

标签: bash awk

我有类似以下内容的代码。

awk '{ print $1, $2}' file | 
while IFS= read A B
do 
echo $A
if [ "$B" -eq "16" ];
then 
  grep -A 1 $A $1 | python unreverse.py  
else
  grep -A 1 $A
fi
done    

其中awk命令为文件中的每一行输出一个字符串和一个数字。但是,我不太明白如何让while循环工作。它没有正确分割线,因为B是空的,我得到“预期的整数表达式”。

1 个答案:

答案 0 :(得分:2)

您实际上是使用IFS= read A B取消定义IFS,因此不会发生单词拆分 并且所有输入都被捕获到$ A中。只需删除IFS=,或使用IFS=" ",您就会感到满意