Solved

Search batch file and replace

Posted on 2014-10-20
8
352 Views
Last Modified: 2014-10-22
I have a list of email addresses (black list) that I want to parse and remove everything except the domain name this is a small sample of the list
n.hardy@konnect-force.com
nancy@justleadgen.com
natural.d@tanya-tech.com
natural.n@realtoryou.com

want to end up with just
konnect-force.com
justleadgen.com
tanya-tech.com
realtoryou.com

The trick is that the number of characters before the @ varies greatly so how can I solve this please. Thanks. Prefer a batch file solution but VB or powershell acceptable too.
0
Comment
Question by:Lionel MM
  • 5
  • 3
8 Comments
 
LVL 43

Accepted Solution

by:
Steve Knight earned 500 total points
ID: 40393160
You can split at the @ using a for command:

@echo off
(for /f "tokens=2 delims=@" %%d in ('type yourlist.txt') do echo %%d)>newlist.txt

Steve
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 40393177
Or if you want it de-duped too, try something like this... gets all the domain names, sorts them into order into newlist.txt then runs down that line by line and outputs any unique lines.

Steve

@echo off
setlocal enabledelayedexpansion
(for /f "tokens=2 delims=@" %%d in ('type yourlist.txt') do echo %%d) | sort >newlist.txt

set line=
(for /f %%d in ('type newlist.txt') do (
  if not "!line!"=="%%~d" echo %%~d
  set line=%%~d
)) > deduped.txt

Open in new window

0
 
LVL 24

Author Comment

by:Lionel MM
ID: 40394367
WOW great that's more than I asked for so thanks--however when I run it all that happens is that the the email address list open in notepad and when/if I close it another blank one named newlist.txt opens up. This is what I am using
@echo off
setlocal enabledelayedexpansion
(for /f "tokens=2 delims=@" %%d in ('D:\Data\SPAM.txt') do echo %%d) | sort >D:\Data\newlist.txt

set line=
(for /f %%d in ('D:\Data\NewList.txt') do (
  if not "!line!"=="%%~d" echo %%~d
  set line=%%~d
)) > D:\Data\deduped.txt
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 43

Expert Comment

by:Steve Knight
ID: 40394765
try the word "type" before the path as in example above... I prefer that way to just listing the path (which would be without the ' ' around it.

Steve
0
 
LVL 24

Author Comment

by:Lionel MM
ID: 40394869
ok that does something but this is what I end up with in C:\Data\deduped.txt
C:\Utils>(
if not "!line!" == "2cjesus.com" echo 2cjesus.com  
 set line=2cjesus.com
)
2cjesus.com

C:\Utils>(
if not "!line!" == "acumatica.com" echo acumatica.com  
 set line=acumatica.com
)
acumatica.com

C:\Utils>(
if not "!line!" == "advhpc.com" echo advhpc.com  
 set line=advhpc.com
)
advhpc.com
deduped.txt
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 40394937
Looks like you don't have @echo off ?

Steve
0
 
LVL 24

Author Closing Comment

by:Lionel MM
ID: 40396936
Thanks
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 40396945
np, you got it working then I presume.

Steve
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now