gpt4 book ai didi

linux - 如何仅用 1 个命令收集 2 个 awk 命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:37:03 24 4
gpt4 key购买 nike

我有以下输出

$ 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 命令中。如何做到这一点?

最佳答案

dest=03043836; mask=FFFFFFFF; va=1;
awk -v dest="$dest" -v mask="$mask" -v va="$va" '$2==dest && $8==mask {print $va}' /proc/net/route

-v 用于给变量赋值。

关于linux - 如何仅用 1 个命令收集 2 个 awk 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com