gpt4 book ai didi

awk - 删除除 2 个匹配模式 Shell 脚本之间的文本之外的所有文本

转载 作者:行者123 更新时间:2023-12-02 02:44:29 25 4
gpt4 key购买 nike

让我解释一下我想要做什么。我正在尝试提取两个匹配模式之间的 key ,并从命令输出(而不是文件)中删除所有内容,并将其放入变量中以供进一步使用。

asterisk -r -x "sip show peer 2030" 输出以下文本

-------truncated and given dummy keys ----- 
Prim.Transp. : UDP
Allowed.Trsp : UDP,TCP
Def. Username: 2030
SIP Options : (none)
Codecs : (ulaw|alaw|g729)
Auto-Framing : No
Status : OK (650 ms)


Useragent : LinphonephoneiOS/1.0 (Linphone’s iPhone) LinphoneSDK/4.4.0 Reg. Contact : sip:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d3e1e3e0e393e2eae1fde2e5ebfde2e3fde1e7e5" rel="noreferrer noopener nofollow">[email protected]</a>:57109;pn-provider=apns.dev;pn-prid=9D0C98263E98EE1E282516D585C298BA3915398117C4C30CD3FD352BEEBB7581:remote&2CA57031CAA11360A09B9F37A13DE83CB337BF860352FSAFD7E9B444E5DB673B:voip;pn-param=ABCD1234.org.linphone.linphone.remote&voip;pn-msg-str=IM_MSG;pn-call-str=IC_MSG;pn-groupchat-str=GC_MSG;pn-call-snd=notes_of_the_optimistic.caf;pn-msg-snd=msg.caf;pn-timeout=0;pn-silent=1;transport=udp
Qualify Freq : 60000 ms
Keepalive : 0 ms
Variables :
DEVICENAME = 2030
Sess-Timers : Accept
Sess-Refresh : uas
Sess-Expires : 1800 secs
Min-Sess : 90 secs
RTP Engine : asterisk
Parkinglot : parking-1
Use Reason : No
Encryption : No
RTCP Mux : No
---------truncated and given dummy keys ---------------

我只对 remote&.:voip; 之间的 key (2CA57031CAA11360A09B9F37A13DE83CB337BF860352FSAFD7E9B444E5DB673B) 感兴趣我想删除命令中除 key 之外的所有内容,并将其存储在变量中以供进一步处理。

我尝试了以下但失败了。

US="2030"
d=($(asterisk -r -x "sip show peer $US" | sed -e "s/.*:remote&\(.*\):voip.*/\1/"))
echo $d

最佳答案

你真是太酷了! (如此接近)您只需要抑制 sed 输出的正常打印,并仅在进行替换时打印,例如

d=($(asterisk -r -x "sip show peer $US" | sed -n "s/.*:remote&\(.*\):voip.*/\1/p"))

其中 -n 抑制模式空间的正常打印(您不需要使用单个表达式的 -e)和 /p 最后仅提供替换时的打印。

注意:除非您希望将 d 作为索引数组,并以单字符串作为其唯一元素,否则只需使用 d=$(...)

关于awk - 删除除 2 个匹配模式 Shell 脚本之间的文本之外的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63027862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com