shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ajuda com script awk


From: roberto . castrorj
Subject: Ajuda com script awk
Date: 19 Sep 2014 21:03:12 -0700

Boa noite amigos,


Estou com o seguinte script a pedido do meu chefe:


A partir de uma listagem gigantesca (listagem.txt) nesse formato:

c0:8a:de:21:04:60       AP-TUP-LEO-CARLOS-LUZ   #delimitador é o tab


Bom tem que ser feito o seguinte tratamento com esses dados criando um arquivo da seguinte forma:


   <opt82_c4017c253ab0>   #PEGA O MAC NA PRIMEIRA COLUNA, PRIMEIRA LINHA SEM :
       IP 192.168.0.1        #EXISTE UM RANGE DE IPS QUE VAI DO 192.168.0.1 AO 192.168.4.255 QUE DEVE SER UNICO E INCREMENTADO +1 A CADA LINHA
       MAC c4:01:7c:25:3a:b0   # PEGA MAC 
       ap_name opt82_c4017c253ab0  #AP NAME E SEMPRE OPT82_MAC S/ :
       ap_status i_3
       community default
       connections 0
       interface 2
       location 
       monitored no
       paymentServerSecret 
       paymentServerSite 
       radiusSecret 
       subnet primary
       useProxyARP 0
       wisprLocationID c4017c253ab0 # MAC
       wisprLocationName AP-LJP-PE-CARUARU-RUA # 1LINHA 2COLUNA DO ARQUIVO
    </opt82_MAC>


-Bom sou novo em linux e scripts entao comecei pensando dessa forma.....



#!/bin/bash

#VARIAVEIS

#guarda mac com :

MAC=" "

#guarda nome o ap_name

AP=" "

#OPT completo

OPT="opt82_$MAC2"

#guarda mac sem :

MAC2=" "

#Guarda IP

IP="192.168.0.1"

#Aquivo com script final

ARQUIVO=" "

#posicao na listagem

POS=" "



#testar se o campo esta em branco se estiver da erro e informa a linha



MAC="awk -F'\t' '{ print $1 }' listagem.txt"

MAC2=" 

AP="awk -F'\t' '{ print $2 }' listagem.txt"



while 

cat << EOF > $ARQUIVO

<$OPT>

       IP $IP

       MAC $MAC

       ap_name $OPT

       ap_status i_3

       community default

       connections 0

       interface 2

       location 

       monitored no

       paymentServerSecret 

       paymentServerSite 

       radiusSecret 

       subnet primary

       useProxyARP 0

       wisprLocationID $MAC2

       wisprLocationName $AP

    </$OPT>

EOF

cat $ARQUIVO


#Implementar for ou algo para add +1 no ip, se o ultimo octeto forma mais ou igual a 255 ele implementa +1 penultimo octeto e zera o ultimo octeto


Bom por incrível que pareca e estou e talvez seja o sono não entendo e nao consegui ainda pegar apenas a primeira linha da primeira coluna.... rs tirar os dois pontos sei o q sed me ajudara...por gentileza me deem uma luz....





reply via email to

[Prev in Thread] Current Thread [Next in Thread]