从文件中获取第二个元素?

时间:2014-11-11 21:26:36

标签: bash ksh

这就是我的table.txt的样子:

name        text
test123     rock
test345     cena

我将在我的a.sh文件中使用表信息,如下所示:

e = 345
echo "the value of e is $e"
a=$(awk -v str=test '$2 ~ "^" $e { print $2 ; exit;}' /desktop/table.txt)
if [ -z "$a" ]
   then echo "string not found: $arr"
   else echo "String found: $arr"
fi

预期输出量。

如何:当它转到arr - > test345并将打印出第二个元素,即cena。

错误: 找不到字符串:

请帮忙

由于

1 个答案:

答案 0 :(得分:1)

你想写这个:

awk -v regex="^test$e" '$1 ~ regex { print $2 ; exit;}'
  • 在awk body之外构建正则表达式
  • 与$ 1比较,而不是$ 2

你想进行字符串相等测试而不是正则表达式匹配吗?

awk -v str="test$e" '$1 == str { print $2 ; exit;}'