req=`bxp report change-summary $startDate $startDate -iad -y | grep -A2 "Request ID"
上述腳本給出以下輸出殼牌切grep命令
Request ID ------------ 10481066
我希望削減僅數10481066
,我試圖與數grep
等cut
這是行不通的。任何人都可以建議
req=`bxp report change-summary $startDate $startDate -iad -y | grep -A2 "Request ID"
上述腳本給出以下輸出殼牌切grep命令
Request ID ------------ 10481066
我希望削減僅數10481066
,我試圖與數grep
等cut
這是行不通的。任何人都可以建議
只是一些替代AWK:
$ egrep -o '[0-9]+' <<<"This is a line with Request ID ------------ 10481066"
$ cut -d' ' -f4 <<<"Request ID ------------ 10481066"
$ egrep -o '[0-9]+$' <<<"This is a line with number 35546 with Request ID ------------ 10481066"
上述所有收益10481066
PS:剪切默認分隔符是標籤,你需要用聲明選項空間作爲分隔符以便與您的數據一起使用。
假設你的輸出Request ID ------------ 10481066
是在一個單一的線,你可以用這個awk
命令替換grep
:
req=$(bxp report change-summary $startDate $startDate -iad -y|awk '/Request ID/{print $NF}')
我只是做了這樣
REQ = bxp report change-summary $startDate $startDate -iad -y | grep -A2 "Request ID" | grep -E "^[0-9]"
任何方式感謝您的幫助
這是一種低效的方法,因爲它涉及2個附加命令。 – anubhava
我會做操縱最終的字符串,
req="Request ID ------------ 10481066"
result=${req%-*}
是'請求ID - ---------- 10481066'全部在單行? – anubhava
該數字是該行中的第四個*空格*分隔字段。使用[cut]命令應該非常容易(http://man7.org/linux/man-pages/man1/cut.1.html)。 –