我有以下输出
$ cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
br-lan 03043836 C0A80101 0007 0 0 5 FFFFFFFF 0 0 0
br-lan C0A80100 00000000 0001 0 0 0 FFFFFF00 0 0 0
我使用awk提取包含Destination
03043836
和Mask FFFFFFFF
的行,然后再次使用awk从提取的行中显示第一个元素:$ dest=03043836; mask=FFFFFFFF; va=1;
$ cat /proc/net/route | awk '$2=="'"$dest"'" && $8=="'"$mask"'"' | awk '{print $'"$va"'}'
br-lan
现在,我只想在一个awk命令中收集两个awk命令。怎么做?
最佳答案
您可以将它们全部三个结合在一起(在此处包括cat
which is needless):
dest = 03043836; mask = FFFFFFFF; va = 1;
awk -v dest =“ $ {dest}” -v mask =“ $ {mask}” -v va =“ $ {va}” {print $ va}'
/ proc / net / route
关于linux - 如何仅用1个命令收集2个awk命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23383625/