【发布时间】:2017-07-07 06:14:41
【问题描述】:
我想grep“DA”后面的数据:
BSSID:Broadcast DA:Broadcast SA:da:a1:19:dd:aa:92 (oui Unknown) Probe Request
输出应该是
Broadcast
还有数据
BSSID:d8:49:2f:74:dc:cf (oui Unknown) DA:d8:49:2f:74:dc:cf (oui Unknown) SA:d8:49:2f:74:dc:cf (oui Unknown) Probe Request
应该是
d8:49:2f:74:dc:cf
我使用命令
echo " -90dB signal [bit 29] BSSID:Broadcast DA:Broadcast SA:f4:9f:f3:d6:68:bc (oui Unknown) Probe Request (PremiumOutletsJP) [1.0 2.0 5.5 11.0 Mbit]" |
sed -rn 's/.*DA:(.*)[:space:]/\1/p'
#it is echo "$DATA"|sed -rn 's/.*DA:(.*)[:space:]/\1/p'
但是输出是:
Broadcast SA:f4:9f:f3:d6:68:bc (oui Unknown) Probe Request (PremiumOutletJP) [1.0 2.0 5.5 11.0 Mbit]
或者我试试这个命令:
echo "$DATA" | sed -rn 's/ DA:(.*) /\1/p'
这些都是错误的。 谁能指导我修复错误并告诉我如何学习正则表达式的模式匹配?谢谢。
【问题讨论】:
-
这是文件中的字符串还是文本行?