[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Procurar conteúdo de um array em outro.
From: |
Luis Fernando |
Subject: |
Procurar conteúdo de um array em outro. |
Date: |
Thu, 30 Oct 2014 16:24:57 -0200 |
User-agent: |
KMail/4.13.3 (Linux/3.13.0-37-generic; KDE/4.13.3; x86_64; ; ) |
Pessoal,
Estava precisando montar um script para atualizar uma tabela de
mac-addresses no meu firewall, lendo a partir de um arquivo de configuração do
dhcp e precisava apenas incluir em uma cadeia específica do iptables apenas os
mac’s que ainda não estivessem presentes nela.
Confesso que estou um pouco enferrujado com bash, mas aqui vai meus 2
centavos de contribuição:
#!/bin/bash
ARRTABLES=(`iptables -nL MAC | tr [A-F,M] [a-f.m] | grep all | grep 'mac ' |
awk '{ print $7 }' | xargs`)
ARRCADAST=(`grep -v ^# /etc/dhcp/autorizados.conf | grep AUTHORIZED | cut -d:
-f 2,3,4,5,6,7 | sed -e 's/;//g' | xargs`)
for i in `seq 0 $(( ${#ARRCADAST[*]} - 1))`; do
BOLACHOU=0
for j in `seq 0 $(( ${#ARRTABLES[*]} - 1 ))`; do
if [ "${ARRTABLES[$j]}" == "${ARRCADAST[$i]}" ]; then
BOLACHOU=1
fi
done
if [ ${BOLACHOU} -eq 0 ]; then
iptables -I MAC 1 -m mac --mac-source ${ARRCADAST[$i]} -j RETURN
echo "Mac cadastrado: ${ARRCADAST[$i]}"
fi
done
--
Atenciosamente,
Luis Fernando
address@hidden
Atenção: O conteúdo deste email é confidencial, legalmente protegido, restrito
e de uso exclusivo dos destinatários, sendo sua divulgação proibida por lei.
Caso tenha recebido essa correspondência eletrônica por equívoco, por favor,
avise imediatamente o remetente, respondendo este email e em seguida delete-o.
[As partes desta mensagem que não continham texto foram removidas]
- Procurar conteúdo de um array em outro.,
Luis Fernando <=