ler valores de uma coluna do arquivo e imprimir um bye one

2

Meu arquivo xyz.csv tem dados conforme abaixo:

**abc_hosts,def_host_id,sde_host_id,hostname,dffff_status,status,eeee,eeeeee,tttt,name1,name2,name3,**
start,,,,,,,,,,,,,,,,,,,
,2,3,eee,4,4,rrr,ggggg,323232,22323,2323232,sfdsfd,223333,443433323,45343,5445,213132,fdsfdfdfd,2332332321,3
end,,,,,,,,,,,,,,,,,,,
    
por Sangram 11.08.2016 / 07:43

4 respostas

1

Como mencionado no comentário, o endereço IP sempre estará na linha que sempre conterá eth0 , dependendo de como você pode executar este comando

grep eth0 Platform_Configuration.csv | cut -d',' -f5 | tr -d '**'
    
por 11.08.2016 / 09:19
0

Eu não testei seu código, mas supondo que seu código esteja correto, aqui está uma coisa simples que você pode fazer.

echo  $(grep -A$i "start_interfaces_setup" Platform_Configuration.csv | cut -d ',' -f5) | tr " " "\n"

Assista à parte tr no último.

    
por 11.08.2016 / 08:42
0

A tarefa pode ser feita pelo único sed

sed -n '/.*eth0:[0-9]\+,/{s///;s/,/\n/;P;}' Platform_Configuration.csv

ou

sed -n '/eth0/{s/,/\n/4g;D;};/\n/P' Platform_Configuration.csv
    
por 11.08.2016 / 10:02
0

Como os dados são delimitados, sugiro algo como

awk -F, '/eth0:[0-9]+/ {print $5}' Platform_Configuration.csv

ou (mais restritivamente)

awk -F, '$4 ~ /eth0:[0-9]+/ {print $5}' Platform_Configuration.csv
    
por 11.08.2016 / 12:56