簡體   English   中英

如何在變量中存儲grep輸出的值

[英]How to store value from grep output in variable

我正在研究一個bash腳本,我必須使用正則表達式匹配字符串,然后將輸出存儲在變量中以重用它。

這是我的劇本,

#!/bin/sh

NAME="MET-3-get-code-from-string"
por="$($NAME | grep -P -o -e '(?<=MET-).*?(\d+)')"    #this should store 3 in variable por

echo $por

我嘗試了很多方法,但是我收到了錯誤:
./check.sh:MET-3-get-issue-id-from-branch-name:未找到

如果我運行單獨的grep命令然后是,它正常工作。 但我無法存儲輸出。

我也嘗試過:

por=$($NAME | grep -P -o -e '(?<=MET-).*?(\d+)')
por=$NAME | grep -P -o -e '(?<=MET-).*?(\d+)'

和許多其他類似的參考。

但它不起作用。 有誰可以幫我這個。 我對bash的經驗不多。

謝謝。

更改

por="$($NAME | grep -P -o -e '(?<=MET-).*?(\d+)')"

por="$(echo "$NAME" | grep -P -o -e '(?<=MET-).*?(\d+)')"

此外,你錯過了一個結束雙引號(可能只是一個錯字,應該是NAME="MET-3-get-code-from-string"

暫無
暫無

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

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