[英]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.