1

我需要帮助,我有来自 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+"
4

1 回答 1

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)
于 2013-01-10T15:58:10.910 回答