gpt4 book ai didi

unix - 使用 tsch 从文本文件中分离电子邮件地址

转载 作者:行者123 更新时间:2023-12-04 05:37:14 25 4
gpt4 key购买 nike

我有一个文本文件,其中包含被大量垃圾包围的电子邮件地址。
我只需要分隔电子邮件地址,并将每个地址写在单独的行中(或用逗号分隔它们)。

文本文件如下所示:

per@netvision.net אירית שנהב;רוני אשכול 99; מרכז האולפן 99; דפני אלפר; תים רון; (eina@gmail.com) אינה דגן 9303; (ori@gmail.com) אילן דור 9406;第9304章

我想“捕获”所有以 [A-Z] 开头并以 [A-Z] 结尾的单词,因为周围的所有垃圾都不是英文字母 ([A-Z])。

有人可以告诉我如何编写这个脚本吗?

最佳答案

我会使用 grep -o 来做到这一点.它并不完全“在”tcsh,但您可以从任何脚本中使用 grep。 -o选项使 grep 仅返回与正则表达式匹配的文本。

看起来您的输入文件当前使用分号分隔记录。这很重要,因为 grep逐行阅读。所以我们将使用 tr用换行符替换您的记录分隔符以确保 grep查看每条记录。

ghoti@pc> cat strip_email 
#!/bin/tcsh

setenv inputfile emails.txt
setenv re_email '[[:alnum:]][[:alnum:]_%=+-]*@([[:alnum:]]([[:alnum:]-])+\.)+[[:alnum:]]{2,}'

tr ';' '\n' < $inputfile | grep -Eo "$re_email"

ghoti@pc> ./strip_email
per@netvision.net
eina@gmail.com
ori@gmail.com
ghoti@pc>

您可以将正则表达式调整为适合您的任何内容。在 unix 或 linux 系统上,您可以查看手册页: re_format(7) regex(7) 用于文档。 [:alnum:]那里记录了一块,以及 isalnum .

关于unix - 使用 tsch 从文本文件中分离电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com