Community
    • Login

    multiple txt to one new txt

    Scheduled Pinned Locked Moved General Discussion
    24 Posts 3 Posters 3.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • guy038G
      guy038
      last edited by guy038

      Hello, @pinuzzu99 and All,

      Here is a solution, which involves regular expressions !

      • First copy your input text ( Ctrl + A then Ctrl + 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 around option

      • Select the Regular expression serach mode

      • Click on the Replace All button

      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 group 1, which will be re-written as \1, only, in the replacement zone

      Best Regards,

      guy038

      1 Reply Last reply Reply Quote 1
      • pinuzzu99P
        pinuzzu99
        last edited by

        ok i have find one way to this!
        open cmd and write: for %f in (*.txt) do type “%f” >> combined.txt

        this 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 ??

        1 Reply Last reply Reply Quote 0
        • guy038G
          guy038
          last edited by guy038

          Hi, @pinuzzu99 and All,

          Ah, OK, I see !

          Now, in your combined.txt file, 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 A to I, do you want to keep ?

          • Secondly, do you want to delete any text, of the remaining lines, after the second colon : included ?

          Cheers,

          guy038

          1 Reply Last reply Reply Quote 1
          • pinuzzu99P
            pinuzzu99
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • pinuzzu99P
              pinuzzu99
              last edited by

              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?

              1 Reply Last reply Reply Quote 0
              • guy038G
                guy038
                last edited by guy038

                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+@).+\R

                REPLACE Leave Empty

                Notes :

                • 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 \R matches all types of line-breaks ( \r\n for Windows files, \n for Unix files and \r for 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 marks button ( IMPORTANT )

                • Un-tick the Purge for each search option, if necessary

                • Select the Normal search mode ( IMPORTANT )

                • Tick the Match case option, preferably

                • Tick the Wrap around option

                • SEARCH ccc@cc.cns:mssgahsk

                • Click on the Mark All button

                • You may change the Find what : contents and repeat the last 2 points, in order to bookmark other specific addresses, as well !

                • Now, select the Search > Bookmark > Copy Bookmarked Lines menu option

                • Finally, open a new document ( Ctrl + N )

                • And paste all the bookmarked lines, in this new tab ( Ctrl + V )

                Best Regards,

                guy038

                1 Reply Last reply Reply Quote 0
                • pinuzzu99P
                  pinuzzu99
                  last edited by

                  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:dddd

                  second method it relates only to a specific email address, instead I have several, all different…

                  Alan KilbornA 1 Reply Last reply Reply Quote 0
                  • Alan KilbornA
                    Alan Kilborn @pinuzzu99
                    last edited by

                    @pinuzzu99

                    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.

                    1 Reply Last reply Reply Quote 1
                    • pinuzzu99P
                      pinuzzu99
                      last edited by

                      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?

                      1 Reply Last reply Reply Quote 0
                      • pinuzzu99P
                        pinuzzu99
                        last edited by

                        I have found this that serves my purpose:
                        \S+?@\S+?.\S+
                        this regex select all my address@mail.com:numberletters

                        now i would like to add part of string to delete the rest of the text in my txt…

                        1 Reply Last reply Reply Quote 0
                        • guy038G
                          guy038
                          last edited by

                          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.]+@).+\R

                          REPLACE 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

                          1 Reply Last reply Reply Quote 1
                          • pinuzzu99P
                            pinuzzu99
                            last edited by

                            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: Kree
                            

                            i want delete all text and line except
                            mail.address@mail.com:xxxxxxxx

                            with 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:p456456inha
                            
                            

                            empty line between emails and also one space before any mail address.
                            I hope it helps me to complete the correct string!

                            1 Reply Last reply Reply Quote 0
                            • guy038G
                              guy038
                              last edited by guy038

                              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: Kree
                              

                              The following regex S/R :

                              SEARCH (?-s)^(?!\h*[\w.\x20]+@).*\R?

                              REPLACE Leave EMPTY

                              gives this output text :

                              asda pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr
                              asda cartgrtgrg@gfgbil.com:1r5yyr78115
                              asda jatrhtrh@grthil.com:mrthhrhmm17
                              asda lathmhjm@hhhjail.com:p456456inha
                              

                              Are 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

                              1 Reply Last reply Reply Quote 1
                              • pinuzzu99P
                                pinuzzu99
                                last edited by

                                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 …

                                1 Reply Last reply Reply Quote 0
                                • guy038G
                                  guy038
                                  last edited by guy038

                                  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 EMPTY

                                  And you’ll obtain your expected result :

                                  pamfhdjosa.mardedyly@ydefgo.com:cloggr4trr
                                  cartgrtgrg@gfgbil.com:1r5yyr78115
                                  jatrhtrh@grthil.com:mrthhrhmm17
                                  lathmhjm@hhhjail.com:p456456inha
                                  

                                  Best Regards,

                                  guy038

                                  1 Reply Last reply Reply Quote 1
                                  • pinuzzu99P
                                    pinuzzu99
                                    last edited by

                                    oh yes! finally what i wanted!
                                    thank you very much, dear guy038.

                                    1 Reply Last reply Reply Quote 0
                                    • pinuzzu99P
                                      pinuzzu99
                                      last edited by

                                      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:53687091200
                                      

                                      i need have like this:

                                      code_text
                                      ladgdfg_jfdggs@yertynno.com.vn:1234556
                                      jegfa@nkcore.com:jeryr55673
                                      ghyfm36@rocgfhmmail.com:mintgg18509
                                      v7cifgthhy@yasbco.com.tw:512454215
                                      

                                      i want delete all :number:number

                                      Alan KilbornA 1 Reply Last reply Reply Quote -1
                                      • Alan KilbornA
                                        Alan Kilborn @pinuzzu99
                                        last edited by

                                        @pinuzzu99

                                        What have you tried?
                                        What did you get?
                                        What didn’t work about it?

                                        1 Reply Last reply Reply Quote 1
                                        • pinuzzu99P
                                          pinuzzu99
                                          last edited by

                                          which regex is needed to eliminate :number:number at the end of each line

                                          1 Reply Last reply Reply Quote -1
                                          • guy038G
                                            guy038
                                            last edited by guy038

                                            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:53687091200
                                            

                                            Use the following regex S/R :

                                            • SEARCH (?-s)^(?!\h*[\w.\x20]+@).*\R?|^.*?\x20+|.+?:.+?\K:.+

                                            • REPLACE Leave EMPTY

                                            • Of course, the Regular expression search mode is selected and the Wrap around option is ticked

                                            • You must use the Replace All button, exclusively ( Not the Replace button ! )

                                            We get the following output text :

                                            ladgdfg_jfdggs@yertynno.com.vn:1234556
                                            jegfa@nkcore.com:jeryr55673
                                            ghyfm36@rocgfhmmail.com:mintgg18509
                                            v7cifgthhy@yasbco.com.tw:512454215
                                            

                                            Notes :

                                            This regular expression is composed of 3 alternatives :

                                            • 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 \K syntax 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/2 months, 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

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors