相关疑难解决方法(0)

通过动态构造的变量名间接分配给bash数组变量

Bash脚本用于从具有未知列的csv创建多个数组.

我正在尝试编写一个脚本来比较具有相似列的两个csv文件.我需要它来从其他csv找到匹配列并比较任何差异.踢球者是我希望脚本是动态的,允许输入任意数量的列,它仍然能够运行.我以为我有一个很好的计划来解决这个问题,但事实证明我遇到了语法错误.这是我需要比较的csv示例.

IP address, Notes,  Nmap-SSH,   Nmap-SMTP, Nmap-HTTP, Nmap-HTTPS,
10.0.0.1,   ,       open,       closed,     open,     open,
10.0.0.2,   ,       closed,     open,       closed,   closed,
Run Code Online (Sandbox Code Playgroud)

当我读取csv文件时,我打算寻找"IF列==打开;然后;用IP地址填充此列的数组"这将在这个场景中给出了4个列表,其中包含正在侦听所述端口的IP.然后,我可以将其与我的安全设备配置进行比较,以确保它已正确配置.最后,对于我来说,这就是我认为可以完成创建数组以供我稍后搜索的内容.但是当我尝试在数组名称中使用变量时,我遇到了麻烦.我的语法可以纠正,还是只有更好的方法来做这种事情?

#!/bin/bash
#
#
# This script compares config_cleaned_<ip>.txt output against ext_web_env.csv and outputs the differences
#
#
# Read from ext_web_env.csv file and create Array
#
        FILENAME=./tmp/ext_web_env.csv
#
        index=0
#
        while read line
          do
# How many columns are in the .csv?
        varEnvCol=$(echo $line | awk -F, '{print NF}')
            echo "columns = $varEnvCol"

# While loop to create …
Run Code Online (Sandbox Code Playgroud)

arrays variables bash eval indirection

3
推荐指数
1
解决办法
2428
查看次数

标签 统计

arrays ×1

bash ×1

eval ×1

indirection ×1

variables ×1