[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Script para montar um ldif semi-off
From: |
Juliano Martinez |
Subject: |
Script para montar um ldif semi-off |
Date: |
Thu, 11 May 2006 15:59:29 -0300 |
Olá amigos,
A bastante tempo venho acompanhando a lista e hoje nescessito de uma
ajuda dos senhores.
Eu preciso fazer um conversor de csv para o formato do ldif, fiz meu conversor
--------------------------------------
#!/bin/bash
if [ ! $1 ] || [ ! $2 ] ; then
echo "Usar $0 <username.csv> <dominio>"
exit 1
fi
file="$1"
domain="$2"
user=$(echo $1 | awk -F'.csv' '{print $1}')
newfile="$user.ldif"
nick=$(cat $file | sed -e '1d' | awk -F';' '{print $4}' | sort | uniq)
mkdir $user
cat new-head.ldif | sed -e "s/usuario/$user/g" -e
"s/dominio/$domain/g" > $user/$newfile
for data in $nick ;
do
email=$(cat $file | sed -e '1d' | grep $data | head -1 | sed
's/;/ /g' | awk '{ if ( $2 ~ /@/ ) print $2 ; else if ( $3 ~ /@/ )
print $3 ; else if ( $4 ~ /@/ ) print $4}')
cat new-foot.ldif | sed -e "s/usuario/$user/g" -e
"s/dominio/$domain/g" -e "s/email/$email/g" -e "s/contato/$data/g" >
$user/$newfile
done
exit
---------------------------------
######## Head
dn: ou=usuario,ou=dominio,dc=need
objectClass: inetOrgPerson
objectClass: need
ou: usuario
sn: usuario
cn: usuario
displayName: usuario
mail: usuario@dominio
-------------------------------
########Foot
dn: displayName=contato,ou=usuario,ou=dominio,dc=need
objectClass: inetOrgPerson
objectClass: needAddress
sn:
cn: contato
displayName: contato
mail: email
Ok até aqui tudo bonito, ele esta convertendo bunitinho e forma o arquivo,
mas na hora de importar para o ldap ele da erro no final do arquivo, o
que eu precisava na verdade seria uma ferramenta para olhar os \t \s
\r \n para conseguir formar o arquivo certo, sei que é meio off mas se
existir uma ferramenta assim acho que será de grande uso não só para
mim.
######
# Juliano
######
- Script para montar um ldif semi-off,
Juliano Martinez <=