|
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....
[Prev in Thread] | Current Thread | [Next in Thread] |