我在做:
dig @example.com hostname.example.com | grep ANSWER:
返回输出
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
如何使用pipe来获取变量中的答案计数。
var=$(dig @example.com hostname.example.com | grep ANSWER:|....?...)
答案 0 :(得分:2)
使用linePath = new LinePath<>(wayPoints, isPathOpen);
FollowPath<Vector2, LinePath.LinePathParam> followPathSB = new FollowPath<>(character, linePath ,30f) //
.setTimeToTarget(0.1f) //
.setArrivalTolerance(0.001f) //
.setDecelerationRadius(80);
character.setSteeringBehavior(followPathSB);
。然后,您可以遍历列,找到awk
的列,然后打印下一列。
ANSWER:
答案 1 :(得分:1)
您可以像这样使用awk
:
dig @8.8.8.8 www.example.com | awk '/ANSWER:/{print $2}' RS=,
这里的关键是使用,
作为输入记录分隔符。了解使用awk
时输入记录如何显示RS=,
:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 www.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY
status: NOERROR
id: 49711
;; flags: qr rd ra ad; QUERY: 1
ANSWER: 1 <----- Look here! The ANSWER: is a separate record
AUTHORITY: 0
ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0
flags:; udp: 512
;; QUESTION SECTION:
;www.example.com. IN A
;; ANSWER SECTION:
www.example.com. 74953 IN A 93.184.216.34
;; Query time: 43 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Jun 27 03:40:13 CEST 2017
;; MSG SIZE rcvd: 60
ANSWER: N
部分是一个单独的记录。现在,我们只需使用正则表达式过滤/ANSWER:/
记录,然后使用print $2
打印该行的第二列。
PS:sed
替代方案是:
dig @8.8.8.8 www.example.com | sed -rn '/(.*ANSWER: )([0-9]+)(.*)/s//\2/p'