![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| leia lista de ficheiros de arquivo de texto e remover esses arquivos em vários diretórios | fxvisions | Programação Shell Script e | 5 | 08-07-2008 04:59 |
| leia lista de ficheiros a partir de arquivo texto, arquivo, e remova | fxvisions | Programação Shell Script e | 5 | 03-20-2007 09:56 |
| leia uma parte do arquivo da lista no script | happyv | Programação Shell Script e | 3 | 10-20-2006 10:58 |
| ler uma lista de uma vez | nortypig | Programação Shell Script e | 7 | 08-27-2006 10:50 |
| lista apenas ler ficheiros utilizando encontrar | vivekshankar | UNIX para Dummies Perguntas & Respostas | 1 | 05-26-2005 05:47 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
lidas a partir de um arquivo a uma lista
Olá,
Eu tenho um arquivo de conteúdo uma lista de e-mail, e cada um é separado por novas linhas. Quero ler o primeiro endereço de e-mail em TO: arquivados eo restante em uma lista e vai para cc campo. Pretendo usar mailx para enviar o e-mail. Eu inseridos os endereços de email em um array, mas o que posso fazer para transformar a matriz em uma lista, para que eu possa transmiti-la ao comando mailx? O script está funcionando, mas que imprime uma lista de cc por um. Isso não vai funcionar para mailx desde que eu preciso de todos eles em uma lista. Obrigado! # endereço de e-mail lido linha por linha, a primeira linha sempre vai ao campo Para fname \u003d "/ home / ... / emailFile.txt" cc [100] \u003d "" # lista de cc receipients exec <$ fname valor \u003d 0 enquanto lê linha fazer valor \u003d `expr $ valor + 1»; if [$ valor-eq 1] então headit \u003d $ linha echo "headit e-mail é: $ headit" # receipient endereço de email, sempre a primeira linha do arquivo diferente cc [$ valor] \u003d $ linha echo "contactos e-mail é: $ (cc [$ valor])" fi feito mailx # comando para enviar e-mail com um texto corporal, penhora, cc, bcc, endereço e responder, echo "teste" | gato - body.txt | mailx-um attachment.html-b "bcc@mail.com"-c "$ cc"-s "teste"-r "reply@mail.com" "$ headit" |
|
||||
|
Oi, para ler todos os e-mails em um array: Código:
email=( $(cat file) ) Código:
TO=$email[1] para converter a matriz para uma lista: Código:
CC=$(for i in {2..${#email[@]}}; do printf "%s " ${email[$i]}; done)
Que itera sobre o array começando na posição 2 para o comprimento da matriz, o que imprime o atual matriz seguido por um espaço, mas nenhuma linha. O resultado é passado para a variável CC. Agora você tem a TO e no $ $ a CC em CC. HTH Chris |
|
||||
|
Oi,
há um pequeno erro de lá. Tem que ser: cc \u003d $ (para i em (2 ..${# email [@]}}; fazer printf "% s," $ (email [$ i]); feito ![]() A vírgula faltava como você precisará de uma lista separada por vírgulas de repicipients. Eu não uso, mas mailx mutt. A linha faz o seguinte truque para mim: echo teste | mutt-s teste-c "$ cc" - $ a HTH Chris |
|
||||
|
Obrigado por todos os lugares. Eu realmente aprecio isso. Chris do código não tem funcionado para mim, porém, esta é a saída:
someone@mail.com[1] 2 .. (2): erro de sintaxe: operando esperado (sinal de erro é "2 .. (2)") # talvez porque eu só tenho dois e-mail no arquivo. É possível que o conteúdo do arquivo só 1 ou 2 endereços de e-mail. Zaxxon's código funcionou para mim. Obrigado novamente por todas as entradas. Última edição por pinkgladiator; em 11/18/2008 01:35.. |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|