The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
læse listen over filnavne fra tekstfil og fjerne disse filer i flere biblioteker fxvisions Shell Programmering og Scripting 5 08-07-2008 03:59 PM
læse listen over filnavne fra tekstfil, arkiv, og fjern fxvisions Shell Programmering og Scripting 5 03-20-2007 09:56 PM
læse en del af filnavnet fra listen i scriptet happyv Shell Programmering og Scripting 3 10-20-2006 09:58 AM
læse en liste, et ad gangen nortypig Shell Programmering og Scripting 7 08-27-2006 09:50 PM
Listen læse kun filer via finde vivekshankar UNIX for dummyer Spørgsmål & svar 1 05-26-2005 04:47 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-18-2008
pinkgladiator pinkgladiator is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 17
læses fra en fil til en liste

Hello there,

Jeg har en fil, at indholdet af en liste over e-mail-adresse, som hver især er adskilt af nye strækninger. Jeg vil læse den første e-mail-adresse i TIL: arkiveret og resten i en liste og går til cc område. Jeg planlægger at bruge mailx at sende e-mail. I indsættes den e-mail-adresser til et array, men hvad kan jeg gøre for at slå array i en liste, så jeg kan give det til mailx kommando? Scriptet arbejder, men det prints liste over cc én efter én. Det vil ikke arbejde for mailx da jeg har brug for dem alle på en liste. Tak!

# læse e-mail-adresse linje for linje, første linje altid går til feltet
fname \u003d "/ home / ... / emailFile.txt"
cc [100] \u003d "" # liste over cc receipients

exec <$ fname
værdi \u003d 0

mens læse linje
gøre
værdi \u003d `expr $ værdi + 1«;
hvis [$ value-eq 1]

headit \u003d $ linje
echo "headit e-mail er: $ headit" # receipient e-mail-adresse, altid den første linje i filen
anden
cc [$ værdi] \u003d $ linje
echo "det kontakter email: $ (cc [$ værdi])"
fi
gjort

# mailx kommando til at sende e-mail med en tekst organ, tilslutningskrav, cc, bcc, og besvarelse adresse,
echo "test" | cat - body.txt | mailx-a attachment.html-b "bcc@mail.com"-c "$ cc"-s "test"-r "reply@mail.com" "$ headit"
  #2 (permalink)  
Old 11-18-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Stillinger: 2273
Brug [code] og [/ code] tags, når udstationering logfiler, kode osv., ty.

Code:
root@isau02:/data/tmp/testfeld> cat infile
a@some.net
b@some.net
c@some.net
d@some.net
root@isau02:/data/tmp/testfeld> V_TO=`head -1 infile`
root@isau02:/data/tmp/testfeld> echo $V_TO
a@some.net
root@isau02:/data/tmp/testfeld> V_CC=`awk 'NR > 1 {print}' infile`
root@isau02:/data/tmp/testfeld> echo $V_CC
b@some.net c@some.net d@some.net
Når du bruger variabler, måske bruge "$ (VAR)" for at sikre at du får ingen problemer.
  #3 (permalink)  
Old 11-18-2008
Christoph Spohr Christoph Spohr is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Posts: 205
Hej,

til at læse alle e-mails i et array:

Code:
email=( $(cat file) )
Code:
TO=$email[1]
at konvertere de array til en liste:

Code:
CC=$(for i in {2..${#email[@]}}; do printf "%s " ${email[$i]}; done)
Som iterates over array starter på position 2 for længden af den matrix, at det udskriver den aktuelle array efterfulgt af et mellemrum, men ingen linjeskift. Resultatet er givet videre til de variable CC. Nu har du i $ til og CC i $ CC.

HTH

Chris
  #4 (permalink)  
Old 11-18-2008
Christoph Spohr Christoph Spohr is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Posts: 205
Hej,

der er en lille fejl der. Det skal:

cc \u003d $ (for i i (2 ..${# email [@]}}; gøre printf "% s", $ (email [$ i]); gjort

Kommaet manglede, som du skal bruge en kommasepareret liste med repicipients.

Jeg bruger ikke mailx men mutt. Følgende linje betyder det trick for mig:

echo test | mutt-s test-c "$ cc" - $ til

HTH Chris
  #5 (permalink)  
Old 11-18-2008
pinkgladiator pinkgladiator is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 17
Tak for alles stillinger. Jeg virkelig sætter pris på det. Chris's kodeks har ikke fungeret for mig selv om, det er den effekt:

someone@mail.com[1]
(2 .. 2): syntaksfejl: operand forventet (fejl token er "(2 .. 2)") # måske fordi jeg kun har to e-mail-adresse i filen. Det er muligt, at filen kun indholdet 1 eller 2 e-mail-adresser.

Zaxxon kode arbejdede nemlig mig. Tak igen for alle indgange.

Sidst redigeret af pinkgladiator; 11-18-2008 på 01:35 PM..
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 01:19 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0