I Think I figured it out? I would love feedback… Script: /usr/bin/find /var/mail/vhosts/ -type d | grep -P "\/var\/mail\/vhosts\/[a-z0-9\-\_]+\.[a-z]+\/[a-z\.]+$" | xargs -i /usr/bin/sa-learn --spam --progress "{}"/.Spam.New/* It runs 18 times. When I run: /usr/bin/find /var/mail/vhosts/ -type d | grep -P "\/var\/mail\/vhosts\/[a-z0-9\-\_]+\.[a-z]+\/[a-z\.]+$" | xargs -i /bin/echo "{}"/.Spam.New/ I get 18 results (which is expected). So I think I have it figured out now. > On Oct 22, 2015, at 10:13 AM, Ryan Coleman <ryan.coleman at cwis.biz> wrote: > > Moving forward… > > > I have this command so far: >> /usr/bin/find /var/mail/vhosts/ -type d | grep -P "\/var\/mail\/vhosts\/[a-z0-9\-\_]+\.[a-z]+\/[a-z\.]+$" | xargs -0 /usr/bin/sa-learn --no-sync --spam —progress > > But I need to put the folder name at the end of the xargs command along WITH a subfolder (like “/.Spam.New/*”) > > Any thoughts on how I would do that? > > >> On Oct 22, 2015, at 9:29 AM, Ryan Coleman <ryan.coleman at cwis.biz <mailto:ryan.coleman at cwis.biz>> wrote: >> >> Cuz I’m smart like that… >> >> find /var/mail/vhosts/ -type d | grep -P "\/var\/mail\/vhosts\/[a-z0-9\-\_]+\.[a-z]+\/[a-z\.]+$” >> >> Finds just what I need… what a rPITA. >> >> — >> Ryan >> >> >>> On Oct 22, 2015, at 9:09 AM, Ryan Coleman <ryan.coleman at cwis.biz <mailto:ryan.coleman at cwis.biz>> wrote: >>> >>> I have my spam-learning script which runs against all the folders that meet a criteria… however the parent directories share the same style… >>> >>> So what I have is… >>> >>> /var/mail/vhosts/domain.ltd/first.lastname/.folders{…} >>> >>> The scan I have search for .Spam.New and .Spam.Suspected and runs those… >>> >>> but I would like to scan through the entire structure and grab each first.lastname folder (it would be the *2nd* level of my scan as I have a half-dozen domains and will add more soon)… >>> >>> That point behind it is I can scan specific folders as SPAM and any other folders (other than Inbox, Sent and Trash) as HAM. >>> >>> So here’s my folder for this specific email address (cwis.biz <http://cwis.biz/>): >>> drwxrws--- 5 vmail spamd 4096 Oct 22 09:07 .Drafts >>> -rwxrwx--- 1 vmail spamd 0 Jan 21 2015 maildirfolder >>> drwxrws--- 5 vmail spamd 4096 Mar 19 2015 .Mailing Lists >>> drwxrws--- 5 vmail spamd 4096 Oct 22 05:49 .Mailing Lists.MySQL >>> drwxrws--- 5 vmail spamd 4096 Oct 15 16:44 .Mailing Lists.Nextdoor >>> drwxrws--- 5 vmail spamd 4096 Oct 17 09:38 .Mailing Lists.PFSense >>> drwxrws--- 5 vmail spamd 4096 Oct 22 07:38 .Mailing Lists.spamassassin >>> drwxrws--- 5 vmail spamd 4096 Oct 21 14:25 .Mailing Lists.TCLUG >>> drwxrws--- 5 vmail spamd 4096 Oct 21 12:59 .Mailing Lists.TCPHP >>> drwxrws--- 2 vmail spamd 16384 Oct 22 09:06 new >>> drwxrws--- 5 vmail spamd 4096 Jan 21 2015 .Notes >>> drwxrws--- 5 vmail spamd 4096 Oct 21 22:34 .Sent Messages >>> drwxrws--- 3 vmail spamd 4096 Oct 15 17:02 sieve >>> drwxrws--- 5 vmail spamd 4096 Oct 22 07:19 .Spam.New >>> drwxrws--- 5 vmail spamd 4096 Oct 22 07:25 .Spam.Scanned >>> drwxrws--- 5 vmail spamd 4096 Oct 22 09:06 .Spam.Suspected >>> drwxrws--- 5 vmail spamd 4096 Oct 22 09:06 .Spam.Tagged >>> -rwxrwx--- 1 vmail spamd 282 Oct 15 16:43 subscriptions >>> drwxrws--- 2 vmail spamd 4096 Oct 22 09:06 tmp >>> drwxrws--- 5 vmail spamd 4096 Oct 22 01:25 .Trash >>> >>> Basically I want to get any folder that starts with “." inside of /var/mail/vhosts/cwis.biz/ryan.coleman/ <http://cwis.biz/ryan.coleman/> >>> >>> And then run the following commands: >>> >>> /usr/bin/find /var/mail/vhosts/ -name '*.Spam.New*' -type d -exec /usr/bin/sa-learn --spam --progress {}* \; >>> /usr/bin/find /var/mail/vhosts/ -name '*.Spam.Suspected*' -type d -exec /usr/bin/sa-learn --spam --progress {}* \; >>> /bin/mv /var/mail/vhosts/cwis.biz/ryan.coleman/.Spam.New/cur/* <http://cwis.biz/ryan.coleman/.Spam.New/cur/*> /var/mail/vhosts/cwis.biz/ryan.coleman/.Spam.Scanned/cur/ <http://cwis.biz/ryan.coleman/.Spam.Scanned/cur/> >>> /bin/mv /var/mail/vhosts/cwis.biz/ryan.coleman/.Spam.New/new/* <http://cwis.biz/ryan.coleman/.Spam.New/new/*> /var/mail/vhosts/cwis.biz/ryan.coleman/.Spam.Scanned/cur/ <http://cwis.biz/ryan.coleman/.Spam.Scanned/cur/> >>> >>> My regex-foo is not very good. I know there’s a way to do that with find(1) but I wouldn’t be able to wrap my head around it anyway. >>> >>> TIA! >>> >>> — >>> Ryan >>> _______________________________________________ >>> TCLUG Mailing List - Minneapolis/St. Paul, Minnesota >>> tclug-list at mn-linux.org <mailto:tclug-list at mn-linux.org> >>> http://mailman.mn-linux.org/mailman/listinfo/tclug-list <http://mailman.mn-linux.org/mailman/listinfo/tclug-list> >> >> _______________________________________________ >> TCLUG Mailing List - Minneapolis/St. Paul, Minnesota >> tclug-list at mn-linux.org <mailto:tclug-list at mn-linux.org> >> http://mailman.mn-linux.org/mailman/listinfo/tclug-list > > _______________________________________________ > TCLUG Mailing List - Minneapolis/St. Paul, Minnesota > tclug-list at mn-linux.org > http://mailman.mn-linux.org/mailman/listinfo/tclug-list -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20151022/41ec66b3/attachment.html>