req=`bxp report change-summary $startDate $startDate -iad -y | grep -A2 "Request ID"
上面的脚本给出了以下输出
Request ID ------------ 10481066
我想只剪切10481066
号码,我尝试使用号码grep
和其他cut
无法正常工作。有人可以建议吗?
答案 0 :(得分:1)
假设您的输出Request ID ------------ 10481066
全部在一行中,您只需使用此grep
命令替换awk
:
req=$(bxp report change-summary $startDate $startDate -iad -y|awk '/Request ID/{print $NF}')
答案 1 :(得分:0)
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:Cut default delimiter is tab,你需要声明-d
选项空格作为分隔符,以便切割以处理你的数据。
答案 2 :(得分:0)
我就这样做了
REQ = bxp report change-summary $startDate $startDate -iad -y | grep -A2 "Request ID" | grep -E "^[0-9]"
感谢您的帮助
答案 3 :(得分:0)
我会操纵最后的字符串,
req="Request ID ------------ 10481066"
result=${req%-*}