Извлечь почтовый идентификатор из скрипта - PullRequest
0 голосов
/ 29 декабря 2011

Используйте этот сценарий оболочки в качестве источника для извлечения полей идентификатора почты.Нужно извлечь почтовые идентификаторы в одиночку.Для примера нужно взять anupam.panda@btx.com ajay.k.singh@btx.com Пожалуйста, совет.

#!/bin/ksh
#exit 0
export nodename=`uname -n`
export SENDER_ID=BTFON.$nodename@btx.com
mailx -s "ERROR: OWB loading for ${FILE_NAME} has failed " anupam.panda@btx.com,ajay.k.singh@btx.com <<EOF

Ответы [ 4 ]

1 голос
/ 29 декабря 2011

Если каталогом для сканирования (рекурсивно) является MYDIR, то:

grep -hrioI '[a-z0-9_\.]\+@[a-z0-9]\+\.[a-z0-9\.]\{2,\}' MYDIR 2>/dev/null | sort -u

Если вы хотите сканировать только сценарии оболочки, добавьте параметр --include = *. Sh:

grep -hrioI --include=*.sh '[a-z0-9_\.]\+@[a-z0-9]\+\.[a-z0-9\.]\{2,\}' MYDIR 2>/dev/null | sort -u

РЕДАКТИРОВАТЬ Я изменил шаблон для TLD как минимум на 2 символа ({2,} вместо +).

0 голосов
/ 29 декабря 2011

Попробуйте:

Код:

awk -F\" '
    /^mailx/{
        n=split(substr($3,2,length($3)-6),emails,/,/)
        for (i=1;i<=n;i++)print emails[i]}
    ' f3

Вывод:

anupam.panda@btx.com
ajay.k.singh@btx.com
0 голосов
/ 29 декабря 2011

Это может работать для вас:

sed '/^mailx/!d;s/.*"\s*\|\s*\S*$//g;y/,/\n/' file1 file2 file3 ...
anupam.panda@btx.com
ajay.k.singh@btx.com
0 голосов
/ 29 декабря 2011
awk -v FS="[\",<]" '/mailx/{for(i=3;i<NF;i++) print $i}' file

Если ваши файлы имеют одинаковое форматирование, и вы хотите извлечь все электронные письма, которые следуют за строкой темы до <<p> Чтобы перехватить sender_id, выполните что-то вроде этого -

awk -v FS="[\",<$]" '
/mailx/{print "RECEPIENTS: ";for(i=4;i<NF;i++) print $i;next}
/SENDER_ID/{print "SENDER INFO: \n"$NF}' file

Тест:

[jaypal:~/Temp] awk -v FS="[\",<$]" '
/mailx/{print "RECEPIENTS: ";for(i=4;i<NF;i++) print $i;next}
/SENDER_ID/{print "SENDER INFO: \n"$NF}' file
SENDER INFO: 
nodename@btx.com
RECEPIENTS: 
 anupam.panda@btx.com
ajay.k.singh@btx.com 
...