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)