Script shell: arquivos de texto para array

1

Eu devo usar o C-shell. Eu tenho uma lista de 40+ ip e hostname no arquivo de texto.

sat1 100.34.54.65
sat2 100.34.54.55
sat3 100.34.54.45
and so on..

Eu quero definir o ip e hostname como lista de matriz. A primeira matriz é hostname; sat1 sat2 sat3 e segundo array o endereço ip.Por exemplo:

array1 = (sat1 sat2 sat3) array2 = (100.34.54.65 100.34.54.55 100.34.54.45)

como tornar o ip e o nome do host do arquivo .txt na lista de array?

    
por exid 12.11.2015 / 06:04

1 resposta

0

#!/bin/bash

i=0
while IFS= read -r line; do
array1[i]="${line:0:4}"
array2[i]="${line:5:12}"
#echo ${array1[i]} ${array2[i]}
i=$((i + 1))
done <$1

para cada linha que ele lê, ela é dividida e armazenada na eq. slot de matriz. Eu não adicionei os ecos para arrayX [i], mas você pode testar isso. Espero que isso funcione para você.

    
por 12.11.2015 / 07:00