我需要帮助,我有来自tcpdump标题的下一行:
11:46:24.851239 IP (tos 0x0, ttl 128, id 11289, offset 0, flags [none], proto UDP (17), length 229)
我需要指定header的值(例如:proto),结果必须是:
proto UDP (17)
我正在尝试使用那个shell脚本程序:
var=flags
echo '11:46:24.851239 IP (tos 0x0, ttl 128, id 11289, offset 0, flags [none], proto UDP (17), length 229)' | grep -oP "\b$var+"
答案 0 :(得分:3)
一种方式:
echo '11:46:24.851239 IP (tos 0x0, ttl 128, id 11289, offset 0, flags [none], proto UDP (17), length 229)' | grep -o 'proto [^,]\+'
使用变量:
$ x="proto"
$ echo '11:46:24.85123........., proto UDP (17), length 229)' | grep -o "${x} [^,]\+"
proto UDP (17)