1

То, что я пытаюсь сделать, это проанализировать csv файл с именами серверов и IP-адресами и назначить их переменным. Затем я запускаю команды, используя каждый набор переменных.

Поэтому, если файл cvs test.csv выглядит следующим образом:

servername, ip address
alphaserver, 192.168.1.2
betaserver, 192.168.1.3

... и так далее

Как мне разобрать это, чтобы сделать $server1=alphaserver $ipaddress1=192.168.1.2 для каждой строки?

Пример того, где я нахожусь:

INPUT=test.cvs IFS=, [ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; } while read "server name" "IP Address" do echo "Server name : $servername" echo "IP Address : $ipaddress"

1 ответ1

0

Не берите в голову. Я понял. Просто оставайтесь в то время как группа. Получите переменные, а затем, после того, как они установлены, сделайте все что угодно, например:

#!/bin/bash

IFS=","
while read f1 f2
do
echo "Server name : $f1"
echo "IP Address : $f2"
servername=$f1
ipaddress=$f2

echo "Servername variable: $servername"
echo "IP address variable: $ipaddress"
# Insert whatever you need to do with those variables and then the
# while loop will move on to the next line and do that same thing.

done < test.csv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .