我正在尝试搜索模式,并从结果中提取第二列。该命令在命令行中运行良好,但在 bash 脚本中运行良好。
#!/bin/bash
set a = grep 'NM_033356' test.txt | awk '{ print $2 }'
echo $a
它根本不打印任何输出。
输入
NM_033356 2
NM_033356 5
NM_033356 7
…………
a="$(awk '/NM_033356/ { print $2 }' test.txt)"
你的代码:
#!/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"
代码更改基于您的示例输入。
尝试这个:
a=`grep 'NM_033356' test.txt | awk '{ print $2 }'`