Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прочитать файл и отправить мыло 
V
    Опции темы
nik0p0l
Дата 16.8.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Есть текстовый файл:
Код

[email protected];sometexttext
[email protected];sometexttext
[email protected];sometexttext

первое поле емаил, второе небольшое сообщение, разделены ";"(точкой с запятой)
необходимо чтоб скрипт на Shell читал файлик и командой mailx отправлял на маил из перовго поля сообщение из второго поля и так для каждой строки.
в конец запутался с awk и не понятно как из него mailx вызывать...
PM MAIL   Вверх
ZeeLax
Дата 16.8.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Код

man awk
man perl
man bash

?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nik0p0l
Дата 16.8.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Цитата(ZeeLax @ 16.8.2007,  17:39)
Код

man awk
man perl
man bash

?

изучал, на citforum.ru.
не получаеться, одно с другим не сходиться у меня :(, поэтому и обратился сюда...
PM MAIL   Вверх
ZeeLax
Дата 16.8.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Ну, покажите, что не сходится то. За вас никто скрипт писать не будет.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nik0p0l
Дата 16.8.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Цитата(ZeeLax @ 16.8.2007,  17:57)
Ну, покажите, что не сходится то. За вас никто скрипт писать не будет.

Код

f1=/usr/mpk/mfile.txt
awk -F";" 'mailx  -s "tema pisma" $1 < $2' $f1

вот, не работает :(
вычитал еще про функцию system(Встроенная функция system (command_line) выполняет команду "command_line"), но так и не собразил, как правильно ее синтаксически с майлом вызвать...
PM MAIL   Вверх
ZeeLax
Дата 16.8.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Если говорить о баше с авком, то логику вам нужно писать башем, а авком только парсить.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
JackYF
Дата 16.8.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 14
Всего: 162



Цитата(nik0p0l @  16.8.2007,  18:20 Найти цитируемый пост)
awk -F";" 'mailx  -s "tema pisma" $1 < $2' $f1

почти все верно. Только ты пытаешься сделать не то перенаправление. Имхо, надо так:

Код

awk -F";" 'echo -n $2 | mailx  -s "tema pisma" $1' $f1



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
ZeeLax
Дата 16.8.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



JackYF,
Код

man awk



--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nik0p0l
Дата 17.8.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Цитата(ZeeLax @ 16.8.2007,  20:29)
JackYF,
Код

man awk

bash не установлен. поставить не могу, и админ тоже этим заниматься не будет. как решbть задачу на sh?
PM MAIL   Вверх
ZeeLax
Дата 17.8.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Я бы сделал на перле. Это там 5 минут.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nik0p0l
Дата 17.8.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Цитата(ZeeLax @ 17.8.2007,  10:30)
Я бы сделал на перле. Это там 5 минут.

Perl не знаю. можете показать как там это выглядит?
PM MAIL   Вверх
ZeeLax
Дата 17.8.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



ну, что то типа
Код

#!/usr/bin/perl

use strict;

while (<>) {
    my @values = split /;/;
}

Массив @values каждую иерацию цикла будет содержать два элемента - мыло и текс. Набрав в гугле что-то типа "учбеник по perl" три оставшихся строки допишите без проблем.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nik0p0l
Дата 17.8.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Код

cat sample.txt | awk -F';' '{print "echo "$2" | mail "$1}' | sh

рабочий вариант на shell'e. спасибо камраду Scott Tiger, он не местный smile. можете еще какойнибудь вариант предложить, этот оптимизировать?
з.ы. сейчас еще перлом попробую для общего развития
PM MAIL   Вверх
JackYF
Дата 17.8.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 14
Всего: 162



Цитата(ZeeLax @  16.8.2007,  20:29 Найти цитируемый пост)
JackYF,
man awk


оригинально... Тем более, что читан уже. Ты про кавычки после -F имел в виду, которые не нужны?



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
ZeeLax
Дата 17.8.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



JackYF, нет, я ему ввиду то, что awk не знает, что такое
Код

echo -n $2 | mailx  -s "tema pisma" $1



--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.