gpt4 book ai didi

linux - 打印带有列号的页脚

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

我发现这个命令 {print NF} 显示总列数:

$ nova list | awk '{print NF}' | sort -n | uniq
1
9
10

但我希望为每一列打印他们的编号。

请参阅带有字段分隔符 | 的示例:

$ nova list | head
+--------------------------------------+-----------------------------------------+--------+----------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------------------------------+--------+----------------------------------------------+
| 45bd0bc3-96b4-4193-ae76-59115b4ee528 | rert | ACTIVE | netblock5=192.168.0.10 |
| 6682aa37-b766-437e-9b16-ce1076ce2410 | test5 | ACTIVE | netblock5=192.168.0.110 |
| 6f08fcf3-ea71-4f33-a01a-9b0712385511 | test2 | ACTIVE | netblock5=192.168.0.111 |
| 8f628408-1ace-4792-85b6-e134fe1f07cb | test55 | ACTIVE | netblock5=192.168.0.52, 192.168.222.46 |
| 458aa8cb-42c2-4aa6-ab30-c6858bcd85f3 | derggdre | ACTIVE | netblock5=192.168.0.63, 192.168.222.49 |
| 67f4bd0c-0e4d-4ba1-8765-dc7d7831c8f8 | dgrfdrf | ACTIVE | netblock5=192.168.1.86 |
| 846ffa7d-76a4-4c70-8d82-23b5a205ad77 | ttttt | ACTIVE | netblock5=192.168.1.27 |
1 2 3 4

最佳答案

让我们了解 awk 在这里做了什么

nova list | awk '{print NF}' | sort -n | uniq

在 awk '{printf NF}' 中,NF 是字段分隔符作为空格的字段数。所以在 NF=9 以下的输出中(也计算管道 '|' 符号)。

| ID                                   | Name                                    | Status   | Networks                                     |

下面的数据线也是如此

| 846ffa7d-76a4-4c70-8d82-23b5a205ad77 | ttttt                                   | ACTIVE | netblock5=192.168.1.27                 |

在您的输出中,您得到 1 和 10,而且 nova list 命令输出中的某些行必须具有单个字段或 10 个字段。

现在谈到您的问题,您希望打印字段及其 NF 或字段值及其 NF 值。

nova list | awk '{for(I=1;I<=NF;I++){printf I"-"$I" "}printf "\n"}'

它不会打印文件最后的字段编号,而是打印数据。

关于linux - 打印带有列号的页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695219/

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