multiple txt to one new txt
-
Hello, @pinuzzu99 and All,
Here is a solution, which involves regular expressions !
-
First copy your input text (
Ctrl + AthenCtrl + C) -
Open a new tab (
Ctrl + N) -
Paste your text (
Ctrl + V) -
Open the Replace dialog (
Ctrl + H) -
SEARCH
(?-s)^(\h*\w+@.+?:.+?):.+ -
REPLACE
\1 -
Tick, preferably, the
Wrap aroundoption -
Select the
Regular expressionserach mode -
Click on the
Replace Allbutton
Et voilà !
Notes :
-
First, the part
(?-s)means that the regex dot symbol.will match only a single standard character( Not a line-break ) -
Then the part
^is the default zero-length assertion, matching any beginning of line location -
The part
\h*\w+@part looks for possible horizontal blank chars\h*, followed with any non-null range of word chars\w+, followed with the literal char@ -
Then, the part
.+?:finds the shortest non-null range of chars till a colon: -
Now, the part
.+?matches the shortest non-null range of chars, till … -
The last part
:.+, which represents the second:of each line, followed with all the remaining chars of current scanned line -
As the global part
\h*\w+@.+?:.+?is embedded in parentheses, it’s stored as group1, which will be re-written as\1, only, in the replacement zone
Best Regards,
guy038
-
-
ok i have find one way to this!
open cmd and write: for %f in (*.txt) do type “%f” >> combined.txtthis command join all txt content into new one txt. and this it’s ok.
now i want purge all content.
on my new combined.txt i want delete all content except a line that contains:
data: xxxx@xx.xxx:kkkkkkk
this value data:xxx… repeats itself and it’s always different.
how to purge combined.txt ?? -
Hi, @pinuzzu99 and All,
Ah, OK, I see !
Now, in your
combined.txtfile, if we consider the general case, below :..... ..... A aaaa@aa.aaa:aaaaaaa ..... ..... B aaaa@aa.aaa:kkkkkkk ..... ..... C aaaa@aa.aaa:zzzzzzz ..... ..... D xxxx@xx.xxx:aaaaaaa ..... ..... E xxxx@xx.xxx:kkkkkkk ..... ..... F xxxx@xx.xxx:zzzzzzz ..... ..... G zzzz@zz.zzz:aaaaaaa ..... ..... H zzzz@zz.zzz:kkkkkkk ..... ..... I zzzz@zz.zzz:zzzzzzz ..... .....-
Firstly, which line, from
AtoI, do you want to keep ? -
Secondly, do you want to delete any text, of the remaining lines, after the second colon
:included ?
Cheers,
guy038
-
-
i want delete all text (or lines) excluding lines:
A aaaa@aa.aaa:aaaaaaa
B aaaa@aa.aaa:kkkkkkk
C aaaa@aa.aaa:zzzzzzz
D xxxx@xx.xxx:aaaaaaa
etc -
or also: how to select all line with value:
data: aaaa@aa.aaa:aaaaaaa
data: bbb@bb.cn:bbbbbbb
data: ccc@cc.cns:mssgahsk
etc
and after paste into new txt? -
Hi, @pinuzzu99 and All,
So, apparently, you want to keep all lines beginning with an e-mail address, don’t you ?
In that case, here is a regex S/R to delete any line, which does not begin with an e-mail address, with possible leading blank chars :
SEARCH
(?-s)^(?!\h*\w+@).+\RREPLACE
Leave EmptyNotes :
-
The part
(?!\h*\w+@)is a negative look-ahead structure that search for the literal@char, preceded by word chars and possible blank chars ( Space or tabulation chars ) This structure returns true and valids the overall regex only when an e-mail address cannot be found -
In that case, the part
.+grabs, from beginning of lines (^), all standard characters, of the current line scanned -
Finally, the part
\Rmatches all types of line-breaks (\r\nfor Windows files,\nfor Unix files and\rfor Mac files ) -
These entire lines are deleted, as the replace*ent zone is empty
Now, here is the method to select specific e-mail addresses, from the remaining lines and copy them in a new document.
Let’s suppose that you want to search for all the occurrences of the exact address
ccc@cc.cns:mssgahsk:-
Open the Mark dialog (
Search > Mark...menu item ) -
First, tick the option
Bookmark line, if necessary -
Click on the
Clear All marksbutton ( IMPORTANT ) -
Un-tick the
Purge for each searchoption, if necessary -
Select the
Normalsearch mode ( IMPORTANT ) -
Tick the
Match caseoption, preferably -
Tick the
Wrap aroundoption -
SEARCH
ccc@cc.cns:mssgahsk -
Click on the
Mark Allbutton -
You may change the
Find what :contents and repeat the last2points, in order to bookmark other specific addresses, as well ! -
Now, select the
Search > Bookmark > Copy Bookmarked Linesmenu option -
Finally, open a new document (
Ctrl + N) -
And paste all the bookmarked lines, in this new tab (
Ctrl + V)
Best Regards,
guy038
-
-
first method work but it remains only one address… everything else is deleted!
i want keep ALL address mail and passw like xxx@xx.xxx:ddddsecond method it relates only to a specific email address, instead I have several, all different…
-
Hmm. This forum doesn’t exist for someone else to do your work for you. Some hints about how a feature of Notepad++ works, yes, but really, don’t expect to say “I need this very specific thing” and expect someone to hand it to you.
You’re expected to try things on your own, and present your (failed) results here and then you’ll probably receive help on just that aspect.
But wholesale problem statement and solution provided…nope.
-
works well with (on reg ex):
find what: (?-s)^(?!\h*\w+@).
replace with:bt some mail is of the type:
name.gress@mail.com
and the first part of the email is deleted (in this specific case the term “name”)…
how to leave full email address? -
I have found this that serves my purpose:
\S+?@\S+?.\S+
this regex select all my address@mail.com:numberlettersnow i would like to add part of string to delete the rest of the text in my txt…
-
Hello, @pinuzzu99 and All,
Well, it’s just up to you ! All your previous e-mail addresses did not contain any dot before the
@char. Thus, I supposed that there were only word characters !With , your last example
name.gress@mail.com, of course, the regex S/R should become :SEARCH
(?-s)^(?!\h*[\w.]+@).+\RREPLACE
Leave EMPTY
Then, you said :
now i would like to add part of string to delete the rest of the text in my txt
I’m sorry but it’s really not clear to my mind !
Please, give us a sample of your input text, with various e-mail adresses and show us the output text you are expecting to, from your present input example !
Just a hint : when replying, type your input and output text as code, using the symbol
</>, as below :
See you later,
Cheers,
guy038
-
you are very kind of you. this is little extract of my txt file
.: data :. ================================= asda pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr ================================= ubba:/my-wallets.zip 379912 2019-08-07T02:52:11+02:00 .: data :. ================================= asda cartgrtgrg@gfgbil.com:1r5yyr78115 Pry Statinf: Kree ================================= ubba:/crypto.zip 380547 2019-08-07T02:50:07+02:00 .: data :. ================================= asda jatrhtrh@grthil.com:mrthhrhmm17 Pry Statinf: Kree ================================= ubba:/wallets.zip 379807 2019-08-07T02:58:33+02:00 .: data :. ================================= asda lathmhjm@hhhjail.com:p456456inha Pry Statinf: Kreei want delete all text and line except
mail.address@mail.com:xxxxxxxxwith your string not work for me.
work with (?-s)^(?!\h*[\w.]+@).
but i have this result:pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr cartgrtgrg@gfgbil.com:1r5yyr78115 jatrhtrh@grthil.com:mrthhrhmm17 lathmhjm@hhhjail.com:p456456inhaempty line between emails and also one space before any mail address.
I hope it helps me to complete the correct string! -
Hi, @pinuzzu99 and All,
Ok ! So, assuming your short example, below :
.: data :. ================================= asda pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr ================================= ubba:/my-wallets.zip 379912 2019-08-07T02:52:11+02:00 .: data :. ================================= asda cartgrtgrg@gfgbil.com:1r5yyr78115 Pry Statinf: Kree ================================= ubba:/crypto.zip 380547 2019-08-07T02:50:07+02:00 .: data :. ================================= asda jatrhtrh@grthil.com:mrthhrhmm17 Pry Statinf: Kree ================================= ubba:/wallets.zip 379807 2019-08-07T02:58:33+02:00 .: data :. ================================= asda lathmhjm@hhhjail.com:p456456inha Pry Statinf: KreeThe following regex S/R :
SEARCH
(?-s)^(?!\h*[\w.\x20]+@).*\R?REPLACE
Leave EMPTYgives this output text :
asda pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr asda cartgrtgrg@gfgbil.com:1r5yyr78115 asda jatrhtrh@grthil.com:mrthhrhmm17 asda lathmhjm@hhhjail.com:p456456inhaAre you expecting this result ?
I simply suppose that the non-null part of an e-mail address, located before the
@char, may contain :-
Any word character
-
A dot symbol
-
A space character
Best Regards,
guy038
-
-
thank you very much. excellent result. I’d still like if you could also delete the first part of the text in front of the email from:
asda address@mail.com: mrthhrhmm17
until you get:
address@mail.com: mrthhrhmm17
this of course for all the email addresses listed … -
Hi, @pinuzzu99 and All,
No problem ! If we assume that there are no space char in e-mail addressses ( generally the case ! ) and further on, in current scanned line, we just need to add an alternative which, implicitly, looks for lines with an e-mail address and deletes from beginning of current line till a non-null range of space characters. Thus, the following regex S/R :
SEARCH
(?-s)^(?!\h*[\w.\x20]+@).*\R?|^.*?\x20+REPLACE
Leave EMPTYAnd you’ll obtain your expected result :
pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr cartgrtgrg@gfgbil.com:1r5yyr78115 jatrhtrh@grthil.com:mrthhrhmm17 lathmhjm@hhhjail.com:p456456inhaBest Regards,
guy038
-
oh yes! finally what i wanted!
thank you very much, dear guy038. -
another little help:
i have another txt with text like this:ladgdfg_jfdggs@yertynno.com.vn:1234556:1654473467:53687091200 jegfa@nkcore.com:jeryr55673:1757810123:53687091200 ghyfm36@rocgfhmmail.com:mintgg18509:11767409268:53687091200 v7cifgthhy@yasbco.com.tw:512454215:380488:53687091200i need have like this:
code_text ladgdfg_jfdggs@yertynno.com.vn:1234556 jegfa@nkcore.com:jeryr55673 ghyfm36@rocgfhmmail.com:mintgg18509 v7cifgthhy@yasbco.com.tw:512454215i want delete all :number:number
-
What have you tried?
What did you get?
What didn’t work about it? -
which regex is needed to eliminate :number:number at the end of each line
-
Hi, @pinuzzu99 and All,
Nice ! I even succeded to merge your two kinds of text, by adding a third alternative in the search regex !
So, starting with the input text, below, where the e-mail adresses may be :
-
Preceded with any chars ( asda, 12345 …), followed with, at least, one space char OR beginning the line
-
Followed with, at least, one field, determined by a colon separator char
bla bla blah bla bla blah bla bla blah asda ladgdfg_jfdggs@yertynno.com.vn:1234556:1654473467:53687091200 bla bla blah bla bla blah jegfa@nkcore.com:jeryr55673:1757810123:53687091200 bla bla blah bla bla blah 12345 ghyfm36@rocgfhmmail.com:mintgg18509:0000000000000:1111111111:55555555555555:777777777777777777:99999999999 bla bla blah bla bla blah bla bla blah asda v7cifgthhy@yasbco.com.tw:512454215:380488:53687091200Use the following regex S/R :
-
SEARCH
(?-s)^(?!\h*[\w.\x20]+@).*\R?|^.*?\x20+|.+?:.+?\K:.+ -
REPLACE
Leave EMPTY -
Of course, the
Regular expressionsearch mode is selected and theWrap aroundoption is ticked -
You must use the
Replace Allbutton, exclusively ( Not theReplacebutton ! )
We get the following output text :
ladgdfg_jfdggs@yertynno.com.vn:1234556 jegfa@nkcore.com:jeryr55673 ghyfm36@rocgfhmmail.com:mintgg18509 v7cifgthhy@yasbco.com.tw:512454215Notes :
This regular expression is composed of
3alternatives :-
The first part
(?-s)^(?!\h*[\w.\x20]+@).*\R?, which have been explained previouly. If deletes any entire line, which does not contain a@char, after a non-null range of words chars and possible dot and/or space chars -
The second part
^.*?\x20+which deletes all text between beginning of line and a non-null range of space characters, if that line contains an e-mail address, further on -
The third part
.+?:.+?\K:.+deletes, after the e-mail adress, from the second:char found till the last standard char of the current scanned line -
Note, in this last part, the use of the lazy quantifier
+?to identify all standard chars between the first and the second:chars and the\Ksyntax before the second:char, which resets the overall search and just grabs all the remaining chars of current line, from the second:, included
Remark :
I strongly advice you to learn the regular expresions world ! Of course, you’ll have to study for
1/2months, but it’s really worth it ;-)). To begin with, consult this FAQ :https://community.notepad-plus-plus.org/topic/15765/faq-desk-where-to-find-regex-documentation
Best Regards,
guy038
-