我正在尝试从邮件日志文件中提取包含特定字符串(邮件地址)的所有文本行。我知道使用grep
可以让我搜索地址[email protected]
,但如何让它打印出包含的整行[email protected]
?这样我就可以轻松地搜索大量日志文件以获取有关from
和to
字段的精确信息,以便找出与谁有过[email protected]
互动。
先感谢您。
答案1
grep "mail\.addres@example\.org" filename.log
将打印包含以下项的所有行[email protected]
答案2
简单的答案,使用awk
awk '/mail\.addres@example\.org/' file.log
答案3
显然,我来晚了,听起来和我一直在学习的东西很相似。我使用 sudo 是因为我不以 root 身份访问东西,但我想这是个人喜好:
sudo grep "[email protected]" /path/to/file/mail.log
输出被贴在终端上(不理想)。但我发现使用重定向>
:
> test.txt
是个好主意。使用命令产生结果,绕过终端窗口的输出并将其直接放入文件中,以便我稍后使用 notepad++ 打开。我在学习过程中确实遇到了一个和两个尖括号之间的区别,这非常方便:
> # Overwrites destination file with current output
>> # Adds current output to tail of file
当我不想在每次搜索时都创建新文件时,这非常方便。