表中的Bash输出数组

马特·反斜杠

我对bash相当陌生,我正在尝试通过创建一些小脚本来学习它。

我创建了一个小脚本来同时查找多个域的DNS条目。域作为属性给出。

COUNTER=0
DOMAINS=()

for domain in "$@"
do
    WOUT_WWW=$(dig "$domain" +short)
    if (( $(grep -c . <<<"$WOUT_WWW") > 1 )); then WOUT_WWW="${WOUT_WWW##*$'\n'}" ; fi

    WITH_WWW=$(dig "www.${domain}" +short)
    if (( $(grep -c . <<<"$WITH_WWW") > 1 )); then WITH_WWW="${WITH_WWW##*$'\n'}" ; fi


    DOMAINS[$COUNTER]="$domain|$WOUT_WWW|$WITH_WWW"
    COUNTER=$(($COUNTER+1))
done

现在,我只想遍历新的“多维”数组,并给出类似于mysql表的输出:

+------------------------------+
| Row 1    | Row 2  | Row 3    |
+------------------------------+
| Value    | Value  | Value    |
+------------------------------+

我怎样才能做到这一点?

斯蒂芬·查泽拉斯(Stephane Chazelas)

使用perlText::ASCIITable模块(也支持多行单元格):

print_table() {
  perl -MText::ASCIITable -e '
    $t = Text::ASCIITable->new({drawRowLine => 1});
    while (defined($c = shift @ARGV) and $c ne "--") {
      push @header, $c;
      $cols++
    }
    $t->setCols(@header);
    $rows = @ARGV / $cols;
    for ($i = 0; $i < $rows; $i++) {
      for ($j = 0; $j < $cols; $j++) {
        $cell[$i][$j] = $ARGV[$j * $rows + $i]
      }
    }
    $t->addRow(\@cell);
    print $t' -- "$@"
}

print_table Domain 'Without WWW'    'With WWW' -- \
            "$@"   "${WOUT_WWW[@]}" "${WITH_WWW[@]}"

WOUT_WWWWITH_WWW阵列已经被构建为:

for domain do
  WOUT_WWW+=("$(dig +short "$domain")")
  WITH_WWW+=("$(dig +short "www.$domain")")
done

这使:

.---------------------------------------------------------------------.
| Domain            | Without WWW    | With WWW                       |
+-------------------+----------------+--------------------------------+
| google.com        | 216.58.208.142 |                 74.125.206.147 |
|                   |                |                 74.125.206.104 |
|                   |                |                 74.125.206.106 |
|                   |                |                 74.125.206.105 |
|                   |                |                 74.125.206.103 |
|                   |                |                  74.125.206.99 |
+-------------------+----------------+--------------------------------+
| stackexchange.com |  151.101.65.69 | stackexchange.com.             |
|                   |   151.101.1.69 |                   151.101.1.69 |
|                   | 151.101.193.69 |                 151.101.193.69 |
|                   | 151.101.129.69 |                 151.101.129.69 |
|                   |                |                  151.101.65.69 |
+-------------------+----------------+--------------------------------+
| linux.com         |  151.101.193.5 | n.ssl.fastly.net.              |
|                   |   151.101.65.5 | prod.n.ssl.us-eu.fastlylb.net. |
|                   |    151.101.1.5 |                   151.101.61.5 |
|                   |  151.101.129.5 |                                |
'-------------------+----------------+--------------------------------'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在bash数组中获取shell命令的输出

来自分类Dev

在bash数组中获取shell命令的输出

来自分类Dev

php:在html表中输出数组

来自分类Dev

将 for 循环的输出保存在 Bash 中的数组中

来自分类Dev

BASH将grep输出存储到变量或数组中

来自分类Dev

将循环数组数据输出到bash中的单独列

来自分类Dev

UNION表MySQL,并输出到JSON数组中

来自分类Dev

将信息保存在哈希表或数组中,然后输出

来自分类Dev

将php数组结果输出到HTML表中

来自分类Dev

用bash从数组输出日期

来自分类Dev

从snmpget输出到bash数组

来自分类Dev

在Excel中输出数组

来自分类Dev

Twig中的输出数组

来自分类Dev

foreach中的输出数组

来自分类Dev

Sql中的表输出

来自分类Dev

将数组的每个元素提升为幂,然后将输出存储到bash中的新数组

来自分类Dev

使用命令输出中带引号的条目在Bash中创建数组

来自分类Dev

在 Mysql 中同时对 3 个表使用 JOIN 在数组中多次获得相同的输出

来自分类Dev

vba excel vlookup:在存储的数组中查找值,在excel中的查找表,将值输出到数组

来自分类Dev

重击:将输出输出到表中

来自分类Dev

重击:将输出输出到表中

来自分类Dev

如何将bash命令输出嵌套到内联数组中?

来自分类Dev

在bash脚本中将数组输出存储到以逗号分隔的列表中

来自分类Dev

如何遍历数组并在bash脚本中输出某些单词?

来自分类Dev

将多行输出捕获为bash中的数组不起作用

来自分类Dev

从文本文件中逐行读取并输出到数组bash

来自分类Dev

在perl中从二维数组创建表具有不同的输出

来自分类Dev

将对象数组输出为终端,作为具有固定宽度列中的属性的表

来自分类Dev

Codeigniter重建查询输出数组以插入到另一个表中

Related 相关文章

  1. 1

    在bash数组中获取shell命令的输出

  2. 2

    在bash数组中获取shell命令的输出

  3. 3

    php:在html表中输出数组

  4. 4

    将 for 循环的输出保存在 Bash 中的数组中

  5. 5

    BASH将grep输出存储到变量或数组中

  6. 6

    将循环数组数据输出到bash中的单独列

  7. 7

    UNION表MySQL,并输出到JSON数组中

  8. 8

    将信息保存在哈希表或数组中,然后输出

  9. 9

    将php数组结果输出到HTML表中

  10. 10

    用bash从数组输出日期

  11. 11

    从snmpget输出到bash数组

  12. 12

    在Excel中输出数组

  13. 13

    Twig中的输出数组

  14. 14

    foreach中的输出数组

  15. 15

    Sql中的表输出

  16. 16

    将数组的每个元素提升为幂,然后将输出存储到bash中的新数组

  17. 17

    使用命令输出中带引号的条目在Bash中创建数组

  18. 18

    在 Mysql 中同时对 3 个表使用 JOIN 在数组中多次获得相同的输出

  19. 19

    vba excel vlookup:在存储的数组中查找值,在excel中的查找表,将值输出到数组

  20. 20

    重击:将输出输出到表中

  21. 21

    重击:将输出输出到表中

  22. 22

    如何将bash命令输出嵌套到内联数组中?

  23. 23

    在bash脚本中将数组输出存储到以逗号分隔的列表中

  24. 24

    如何遍历数组并在bash脚本中输出某些单词?

  25. 25

    将多行输出捕获为bash中的数组不起作用

  26. 26

    从文本文件中逐行读取并输出到数组bash

  27. 27

    在perl中从二维数组创建表具有不同的输出

  28. 28

    将对象数组输出为终端,作为具有固定宽度列中的属性的表

  29. 29

    Codeigniter重建查询输出数组以插入到另一个表中

热门标签

归档