我有一个日志文件,其中包含大量文本,如下所示。我想提取介于电子邮件地址和地位字符串。我愿意接受任何可以在 Ubuntu 上运行的选项,但希望将其自动化。
bouncedRecipients\":[{\"emailAddress\":\"[电子邮件保护]\“,\“地位
答案1
干得好:
perl -ne 'if(/emailAddress..:..(.+?)\\\"/){print "$1\n"}' logfile.txt
此 Perl 代码片段将逐行遍历文件并查找字符串“emailAddress”,后跟:
- 任意两个字符 (
..
),这将匹配\"
, :
,- 任意两个字符(
..
),这将匹配\"
。
然后它将后面的字符(直到下一个"
)保存到 中$1
。最后,它打印$1
。
注意:假设每一个日志文件中的电子邮件地址与您在问题中提供的格式相同。