簡體   English   中英

錯誤bash提取匹配模式的第二列

[英]error bash extracting second column of a matched pattern

我正在嘗試搜索模式,從結果我只提取第二列。 該命令在命令行中運行良好,但不在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 }'`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM