Здраствуйте все возникла проблема
решил немного автоматизировать свою работу
суть следующая есть файл text в которов например такое
;
0000001
Коля
Позвонить 5.10 в 12.00
;
0000002
Вася
Встреча 15.10 в 13.00
;
и т.д.
и еще один файл mail с таким содержанием
0000001 kolya@mail.ru
0000002 vasya@mail.ru
и т.д.
Надо отправить на адрес kolya@mail.ru текст
Коля
Позвонить 5.10 в 12.00
Как это правильнее реализовать
>Здраствуйте все возникла проблема
>решил немного автоматизировать свою работу
>суть следующая есть файл text в которов например такое
>;
>0000001
>Коля
>Позвонить 5.10 в 12.00
>;
>0000002
>Вася
>Встреча 15.10 в 13.00
>;
>и т.д.задача несколько упростится если первый файл будет формата:
0000001:Коля Позвонить 5.10 в 12.00:
0000002:Вася Встреча 15.10 в 13.00:
второй тоже можно сделать в таком же формате:
0000001:kolya@mail.ru:
0000002:vasya@mail.ru:>и т.д.
>Надо отправить на адрес kolya@mail.ru текст
>Коля
>Позвонить 5.10 в 12.00
>Как это правильнее реализовать
#!/usr/bin/perl
open(F,"</path to file mail");
open(T,"</path to file text");
while(<F>){
($num,$mail)=split(/:/,$_);
while(<T>){
($number,$message)=split(/:/,$_);
if ($num eq $number) {
open(tmp,">/path to you tmp file");
print tmp $message;
close(tmp);
&sender;}
};
};
close(F);
close(T);
#
sub sender{
open(S,`mail $mail </path to you tmp file`);
}
#
вот чтото типа этого если я все правильно понял, писал на скорую руку могут быть ошибки... )
>#!/usr/bin/perl
>open(F,"</path to file mail");
>open(T,"</path to file text");
>while(<F>){
> ($num,$mail)=split(/:/,$_);
>
> while(<T>){
>
>
>($number,$message)=split(/:/,$_);
>
>
> if ($num eq $number) {
> open(tmp,">/path to you tmp file");
>
>
> print tmp $message;
>
>
> close(tmp);
>
>
> &sender;}
>
>
> };
>};
>close(F);
>close(T);
>#
>sub sender{
>open(S,`mail $mail </path to you tmp file`);
>}
>#
>вот чтото типа этого если я все правильно понял, писал на скорую
>руку могут быть ошибки... )
file1="path/to/first_file"
file2="path/to/second_file"for i in `grep '[A-Za-z]$' file1`
do
match=`grep -A 1 $i file | grep -v $i`
user=`echo $i | tr "A-Z" "a-z"`
echo $match | mail -s "$user $match" `grep -n $user file2 | awk '{print $2}'`
done
>>#!/usr/bin/perl
>>open(F,"</path to file mail");
>>open(T,"</path to file text");
>>while(<F>){
>> ($num,$mail)=split(/:/,$_);
>>
>> while(<T>){
>>
>>
>>($number,$message)=split(/:/,$_);
>>
>>
>> if ($num eq $number) {
>> open(tmp,">/path to you tmp file");
>>
>>
>> print tmp $message;
>>
>>
>> close(tmp);
>>
>>
>> &sender;}
>>
>>
>> };
>>};
>>close(F);
>>close(T);
>>#
>>sub sender{
>>open(S,`mail $mail </path to you tmp file`);
>>}
>>#
>>вот чтото типа этого если я все правильно понял, писал на скорую
>>руку могут быть ошибки... )
>
>
file1="path/to/first_file"
file2="path/to/second_file"for i in `grep '[A-Za-z]$' $file1`
do
match=`grep -A 1 $i $file1 | grep -v $i`
user=`echo $i | tr "A-Z" "a-z"`
echo $match | mail -s "$user $match" `grep $user $file2 | awk '{print $2}'`
done
точнее так
>file1="path/to/first_file"
>file2="path/to/second_file"
>
>for i in `grep '[A-Za-z]$' $file1`
>do
>match=`grep -A 1 $i $file1 | grep -v $i`
>user=`echo $i | tr "A-Z" "a-z"`
>echo $match | mail -s "$user $match" `grep $user $file2 | awk '{print $2}'`
>done
>точнее такНичего не выдает! Точнее не отправляет никуда ничего.
И еще не подскажите где взять доку по awk и grep на русском
>>file1="path/to/first_file"
>>file2="path/to/second_file"
>>
>>for i in `grep '[A-Za-z]$' $file1`
>>do
>>match=`grep -A 1 $i $file1 | grep -v $i`
>>user=`echo $i | tr "A-Z" "a-z"`
>>echo $match | mail -s "$user $match" `grep $user $file2 | awk '{print $2}'`
>>done
>>точнее так
>
>Ничего не выдает! Точнее не отправляет никуда ничего.
>И еще не подскажите где взять доку по awk и grep на
>русском
странно а у меня работало :)