Compare a whole file with several files / a directory
I have a (hopefully) simple question as a new user of Notepad:
Is it possible to compare a file (which contains a list of 20-50 names) with a whole directory of files?
I know I can search single names/phrases with the “Search” function in several files or a directory, but i haven’t found a way to use a file as “source” from which the the parameters for the search are gained to look for in several other files. Is there a way to do so, or is there a plugin or another software that can help me?
Thanks for your help!
That really isn’t something that Notepad++ could do…it takes its core function (text editing) to a new level (writing the novel). But maybe there is something that could be done if you describe your problem a bit more. For example, you say you want to compare a file with a bunch of other files, but I don’t think this is what you really want based upon your other description. Maybe show some short example of your “source” data and what one of these “several other files” data would look like? Then maybe the helpers here are in a better position to make suggestions.
Thanks Scott for your post,
of course I can describe it a little more, even if - as you say - Notepad++ may not be helpful with that special problem:
I want to maintain a statistic in order to record information in which location and how often soccer players have played.
At the moment I have a bunch of txt-files from different locations (location A.txt, location B.txt,…) which contain person’s names. In that directory there will be continously more and larger files.
Now, when I get a new text-file with the actual players of the actual day and location (my “source”), I want to compare that file (=all names) with all the other files in that named directory, so that I get the played locations and the number of played games as a result of that search.
Of course you could do the search (name by name) 25 times, but it would sure be easier if you could search 25 names in one go. (:
Thanks for any ideas!
Stephan, here is a solution which should be close enough to your needs :-))
So, let’s imagine that your file contains the
20family names and forenames , below :
Smith Oliver Jones Olivia TaylorGeorge Brown Amelia Williams Harry Wilson Emily Johnson Jack Davies Isla Robinson Jacob Wright Ava Thompson Noah Evans Jessica Walker Charlie White Isabella Roberts Muhammad Green Lily Hall Thomas Wood Ella Jackson Oscar Clarke Mia
I built it, from the most common English surnames and given names, seen below :
Copy/paste this list in a
new #N++ tab
Open the Replace dialog or hit the (
Ctrl + H) shortcut
Use the regex S/R :
Regular expressionsearch mode
Click on the
You should get the text :
Smith Oliver|Jones Olivia|TaylorGeorge|Brown Amelia|Williams Harry|Wilson Emily|Johnson Jack|Davies Isla|Robinson Jacob|Wright Ava|Thompson Noah|Evans Jessica|Walker Charlie|White Isabella|Roberts Muhammad|Green Lily|Hall Thomas|Wood Ella|Jackson Oscar|Clarke Mia
Verify that this single line does not end with the
Add, at the beginning of this line :
(?i)if you prefer a case insensitive search
(?-i)if you prefer a case sensitive search
Select the Find in Files tab ( or use the
Ctrl + Shift + F) shortcut
Enter the following regex S/R
(?i)Smith Oliver|Jones Olivia|TaylorGeorge|Brown Amelia|Williams Harry|Wilson Emily|Johnson Jack|Davies Isla|Robinson Jacob|Wright Ava|Thompson Noah|Evans Jessica|Walker Charlie|White Isabella|Roberts Muhammad|Green Lily|Hall Thomas|Wood Ella|Jackson Oscar|Clarke Mia
Of course, fill the
Directoryfields, accordingly !
Click on the
In the Find result panel, you should get all the lines of all the files containing any name of the complete list in the search regex
For instance, with 3 test files, containing some names, I got the following results :
Search "(?i)Smith Oliver|Jones Olivia|TaylorGeorge|Brown Amelia|Williams Harry|Wilson Emily|Johnson Jack|Davies Isla|Robinson Jacob|Wright Ava|Thompson Noah|Evans Jessica|Walker Charlie|White Isabella|Roberts Muhammad|Green Lily|Hall Thomas|Wood Ella|Jackson Oscar|Clarke Mia" (12 hits in 3 files) D:\@@\758\Test_1.txt (3 hits) Line 1: Player : Smith Oliver ( 2018-06-16 ) Line 2: Player : Davies Isla ( 2018-06-16 ) Line 3: Player : Thompson Noah ( 2018-07-07 ) D:\@@\758\Test_2.txt (4 hits) Line 1: Player : Jones Olivia ( 2018-07-07 ) Line 2: Player : Williams Harry ( 2018-05-12 ) Line 3: Player : Walker Charlie ( 2018-06-23 ) Line 4: Player : White Isabella ( 2018-06-23 ) D:\@@\758\Test_3.txt (5 hits) Line 1: Player : Jones Olivia ( 2018-05-12 ) Line 2: Player : TaylorGeorge ( 2018-07-07 ) Line 3: Player : Brown Amelia ( 2018-07-28 ) Line 4: Player : Roberts Muhammad ( 2018-06-23 ) Line 5: Player : Clarke Mia ( 2018-06-23 )
We do not need the Replace field at all. However, with the regex
$0, it would replace any match by itself, if, unfortunately, you would hit the
Replace in Filesbutton and valid the replacement !
Beware that the maximum amount of characters, in the search zone, is
2046. So, as the above search is, only,
267char long, this means that your complete list may contain up to
140names, about, without any trouble :-))
this is working perfectly! Many thanks for the work that you put in my special (and probably unique) query! You saved my day! ((: