> On Aug 13, 2015, at 5:39 PM, Viktor Dukhovni <[email protected]>
> wrote:
>
> On Wed, Aug 12, 2015 at 04:35:59AM -0600, @lbutlr wrote:
>
>> I need to search the logs for outgoing mail that is coming from specific
>> users, but I'm having a hard time with this since the to and from are
>> logged on separate lines in the log
>>
>> Does anyone have a grep solution that would show all the outbound emails
>> in the 30 days of logs for a specific user?
>
> # gunzip -fc $(ls -rt /var/log/maillog*) |
> perl collate |
> perl -ne '
> BEGIN { $/ = "\n\n"; $match = shift; }
> print if m{\Q$match\E}io;
> ' \
> ": from=<[email protected]>”
Thank you, that worked perfectly (well, once I changed the command to bzcat, of
course :)
I even made it into a bash function:
function mailgrep {
bzcat $(ls -rt /var/log/maillog*) | perl /usr/local/bin/collate | perl -ne '
BEGIN { $/ = "\n\n"; $match = shift; }
print if m{\Q$match\E}io;
' \
": from=<$*" | grep -v backup | grep "to=<“
--
You start a conversation you can't even finish it
You're talkin' a lot, but you're not sayin' anything
When I have nothing to say, my lips are sealed
Say something once, why say it again?