0

我正在尝试搜索模式,并从结果中提取第二列。该命令在命令行中运行良好,但在 bash 脚本中运行良好。

#!/bin/bash
set a = grep 'NM_033356' test.txt | awk '{ print $2 }'
echo $a

它根本不打印任何输出。

输入

NM_033356  2
NM_033356  5
NM_033356  7
4

3 回答 3

1

…………

a="$(awk '/NM_033356/ { print $2 }' test.txt)"
于 2013-07-05T06:21:35.900 回答
1

你的代码:

#!/bin/bash
set a = grep 'NM_033356' test.txt | awk '{ print $2 }'
echo $a

将其更改为:

#!/bin/bash
a="$(awk '$1=="NM_033356"{ print $2 }' test.txt)"
echo "$a"

代码更改基于您的示例输入。

于 2013-07-05T06:30:15.727 回答
0

尝试这个:

a=`grep 'NM_033356' test.txt | awk '{ print $2 }'`
于 2013-07-05T07:03:12.930 回答