Прочитайте данные из CSV и поместите их в файл .rxt - PullRequest
0 голосов
/ 31 мая 2019

Я новичок в сценарии оболочки, и только на начальном этапе у меня есть интересующий случай. Так что дело в том, что у меня есть CSV-файл, который содержит данные, такие как:

ip_address,name,address,phone,email_id
192.168.1.1,ABC,Delhi,1234567,abc@gmail.com
192.168.1.2,MNO,Bangalore,1234567,mno@gmail.com
192.168.1.3,CDE,Pune,1234567,cde@gmail.com
192.168.1.4,PQR,Mumbai,1234567,pqr@gmail.com
192.168.1.5,XYZ,Noida,1234567,xyz@gmail.com

Как мне написать сценарий оболочки, который будет входить на сервер (192.168.1.1, 192.168.1.2 и т. Д.), И сценарий оболочки должен создать файл .rxt на этом конкретном сервере в каталоге / root и поместить соответствующие данные в этот файл rxt, как показано ниже?

(т. Е. Мы можем создать каталог, например / root / data, и внутри этих данных мы можем поместить наш rxt-файл как details.rxt)

ip_address=192.168.1.1
name=ABC
address=Delhi
phone=1234567
email_id=abc@gmail.com

ip_address=192.168.1.2
name=MNO
address=Bangalore
phone=1234567
email_id=mno@gmail.com

и т. Д.


EDIT:

Я пытаюсь прочитать данные из CSV-файла, например:

INPUT=serverdetails.csv
OLDIFS=$IFS
IFS=“,”
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99}
while read ip_address name address phone email_id
do
  echo “IPAddress = $ip_address”
  echo “Name = $name”
  echo “Address = $address”
  echo "Telephone = $phone”
  echo “EmailID = $email_id”
done < $INPUT
IFS=$OLDIFS

1 Ответ

0 голосов
/ 01 июня 2019

Вот как выполнить преобразование, задайте новый вопрос, если вам все еще нужна помощь с ssh:

$ cat tst.awk
BEGIN { FS=","; OFS="=" }
NR==1 {
    for (i=1; i<=NF; i++) {
        name[i] = $i
    }
    next
}
{
    for (i=1; i<=NF; i++) {
        print name[i], $i
    }
    print ""
}

.

$ awk -f tst.awk file
ip_address=192.168.1.1
name=ABC
address=Delhi
phone=1234567
email_id=abc@gmail.com

ip_address=192.168.1.2
name=MNO
address=Bangalore
phone=1234567
email_id=mno@gmail.com

ip_address=192.168.1.3
name=CDE
address=Pune
phone=1234567
email_id=cde@gmail.com

ip_address=192.168.1.4
name=PQR
address=Mumbai
phone=1234567
email_id=pqr@gmail.com

ip_address=192.168.1.5
name=XYZ
address=Noida
phone=1234567
email_id=xyz@gmail.com
...