msoliver
(usa Debian)
Enviado em 04/11/2020 - 19:57h
ale_debian escreveu:
Boa Tarde
Srs
Estou enfrentando uma dificuldade no pequeno script abaixo:
#!/bin/bash
gawk -F ";" '{ print $1, $2, $3, $4, $5 }' usersnew | while read LISTA;
do $(echo "/usr/bin/samba-tool user create $LISTA --must-change-at-next-login");
done;
arquivo
teste.user1;paS@2020;--given-name=teste user1 teste;--surname=Freitas;--userou=OU=TI,OU=2-COLIGADA2
Acontece que, se no atributo --given-name conter dados com espaço da error no momento do insert, mesmo o conteudo estando entre as " " duplas ou ' ' simples.
Se deixo este atributo sem espaço funciona normalmente.
Alguém teria um dica para esse problema.
Agradeço deste já pela atenção.
Boa noite Ale, espaços sempre geram problemas.....
Tente escapar os "Espaços":
teste.user1;paS@2020;--given-name=teste\ user1\ teste;--surname=Freitas;--userou=OU=TI,OU=2-COLIGADA2
Quanto ao seu script....
Já que esta usando o laço 'while', não é necessário usar o "gawk"....
Exemplo:
while IFS=';' read -a cp;do #Gera a matriz 'cp'
echo "All => ${cp[@]}"; #Mostra tudo
echo -e "CP0:${cp[0]}\nCP1:${cp[1]}\nCP2:${cp[2]}\nCP3:${cp[3]}\nCP4:${cp[4]}"; #Esta linha é só para te mostrar, cada elemento da matriz.
done<arq.txt
Ou Somente com o awk:
awk -F ";" '{gsub(";"," ");print "/usr/bin/samba-tool user create " $0 " --must-change-at-next-login"}' arq.txt|bash
É possivel incluir o comando no 'awk:
Exemplo genérico:
awk '{system("date -d\"@"$0"\"")}' <<< "1600000000"
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando:
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p' ,
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.
______________________________________________________________________