The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
читать список имен файлов из текстового файла, и удалить эти файлы в нескольких каталогах fxvisions Shell программирование и сценарии 5 08-07-2008 04:59 PM
читать список имен файлов из текстового файла, архив, и удалите fxvisions Shell программирование и сценарии 5 03-20-2007 09:56 PM
прочитать часть файла из списка в скрипте happyv Shell программирование и сценарии 3 10-20-2006 10:58 AM
читать список по одному nortypig Shell программирование и сценарии 7 08-27-2006 10:50 PM
список только для чтения файлов с помощью поиска vivekshankar UNIX для чайников Вопросы И Ответы 1 05-26-2005 05: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 Оценить Thread Режимы дисплея
Old 11-18-2008
pinkgladiator pinkgladiator is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2008
Сообщений: 17
читать из файла в список

Привет,

У меня есть файл, содержание списка адрес электронной почты, и каждый из них, разделенные новых линий. Я хочу, чтобы прочесть первые адрес электронной почты в TO: подала, а остальные в списке и идет в поле CC. Я планирую использовать mailx для отправки по электронной почте. Я вставил адреса в массиве, но что я могу сделать, чтобы превратить массив в список, так что я могу передать ему mailx команду? Скрипт работает, но она печатает список вв один за другим. Это не будет работать для mailx, поскольку мне нужно все из них в списке. Спасибо!

# прочитать адрес построчно, первая линия всегда выходит на поле
fname \u003d "/ Главная / ... / emailFile.txt"
CC [100] \u003d "" # список CC receipients

EXEC <$ fname
значение \u003d 0

а читать строки
делать
Значение \u003d `Expr стоимостью $ + 1`;
если [$ стоимостью экв 1]
тогда
headit \u003d $ линия
Эхо "headit электронной почты: $ headit" # адрес электронной почты получателя, всегда в первой строке в файле
еще
CC [$ стоимость] \u003d $ линия
Эхо "его контактов электронной почты: $ (CC [$ значение])"
FI
готово

# mailx команду отправить сообщение с текстом тела, вложения, CC, BCC, и отвечая адрес,
Эхо "тест" | кошки - body.txt | mailx-а attachment.html-B "bcc@mail.com"-C "$ CC"-S "тест"-R "reply@mail.com" "$ headit"
Old 11-18-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Модератор
  
 

Регистрация: Sep 2007
Местонахождение: Германия
Сообщения: 2,311
Используйте [код] и [/ код] меток при публикации журналов, код т.д., ты.


Код:
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

При использовании переменных, возможно, использовать "$ (VAR)", чтобы убедиться, что вы не получите неприятности.
Old 11-18-2008
Кристоф Spohr Christoph Spohr is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 205
Привет,

читать все сообщения в массив:


Код:
email=( $(cat file) )


Код:
TO=$email[1]

преобразовать массив в список:


Код:
CC=$(for i in {2..${#email[@]}}; do printf "%s " ${email[$i]}; done)

Какой iterates над массива, начиная с позиции 2 длины массива, то она печатает текущего массива следует пробел, но не строки. В результате передается переменная CC. Теперь вы имеете в $ к ГК и в $ CC.

HTH

Крис
Old 11-18-2008
Кристоф Spohr Christoph Spohr is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 205
Привет,

есть небольшая ошибка есть. Она должна быть:

CC \u003d $ (я в (2 ..${# сообщение [@]}}; делать printf "% S", $ (EMAIL [$ I]); сделать

Запятая отсутствует, как вам нужно, разделенных запятыми список repicipients.

Я не пользуюсь, но mailx собачонка. В следующей строке делает трюк для меня:

Эхо испытания | остолоп-х тест-C "$ CC" - до $

HTH Крис
Old 11-18-2008
pinkgladiator pinkgladiator is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2008
Сообщений: 17
Спасибо за все сообщения. Я очень ценю это. Крис код не работал, хотя для меня это результат:

someone@mail.com[1]
(2) 2 ..: ошибка синтаксиса: ожидается операнд (ошибка признак "(2 .. 2)") #, может быть, потому что я только два адреса в файле. Вполне возможно, что файл только содержимое 1 или 2 адреса электронной почты.

Zaxxon код работал для меня. Еще раз спасибо за все входы.

Последний раз редактировалось pinkgladiator; на 11-18-2008 01:35 PM..
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 12:03 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0