Community
    • Login

    Search and mark between date and time

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    12 Posts 4 Posters 8.6k 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.
    • Scott SumnerS
      Scott Sumner @Sven Ryglert
      last edited by

      @Sven-Ryglert

      You didn’t clarify anything between post #1 and post #2. :)

      I think more detail is needed…what has been specified about your data isn’t enough for someone to help well. YOU can see your data so it is clear in your mind, but for anyone wanting to help what you’ve said just leads to more questions when they think about implementing a solution.

      1 Reply Last reply Reply Quote 0
      • Jim DaileyJ
        Jim Dailey
        last edited by

        @Sven-Ryglert I believe you want to find a string (example is 2016-10-01 06:00:00), start marking, find another string (example is 2016-01-01 23:59:59), stop marking so that all text from string1 to string2 is marked so it can be copied to another file.

        I would think that a regex search should be able to do this. Something like:

        ^.*2016-10-01 06:00:00(.*\R)+.*2016-01-01 23:59:59.*\R
        

        should mark the first line containing 2016-10-01 06:00:00 through the line containing 2016-01-01 23:59:59.

        1 Reply Last reply Reply Quote 0
        • Sven RyglertS
          Sven Ryglert
          last edited by Sven Ryglert

          Sorry Scott that I was vague. The English language is a bit tricky for me. I think Jim understood me.

          But just to try to show what I mean. This is how our data looks like in short and the users are marked Xxxxx
          I want to search and mark 2016-10-01 23.59.18 to 2016-10-01 23.59.49 It is tedious to do it manually when the full file contains over 2 millions of lines.

          2016-10-01 23:59:18 PLAY Xxxxx
          2016-10-01 23:59:29 PLAY Xxxxx
          2016-10-01 23:59:39 PLAY Xxxxx
          2016-10-01 23:59:49 PLAY Xxxxx
          2016-10-02 00:00:09 PLAY Xxxxx
          2016-10-02 00:00:29 PLAY Xxxxx
          2016-10-02 00:00:39 PLAY Xxxxx

          I have been searching for this regex plugin and found an dll file that I have installed but can’t see how to bring that regex dialog window up…

          Scott SumnerS 1 Reply Last reply Reply Quote 0
          • Scott SumnerS
            Scott Sumner @Sven Ryglert
            last edited by

            @Sven-Ryglert

            I tried your example data, and inserted some dummy lines in between your “PLAY” lines because I’m guessing that is what your situation really looks like (to account for 2 million lines).

            I had some good luck with this search setup:

            Open the Find dialog; select the Find tab within it
            In the Find What box, put (?s)^(\d{4}-\d{2}-\d{2}).+\1(?-s).+
            Take care not to have any leading/trailing/embedded spaces in that!
            Select Regular Expression as the search mode
            Move the caret to the very top of your file
            Press the Find Next button
            The entire first day’s “PLAY” line matches should get selected and then can be Copy’d to the clipboard
            Press the Find Next button again
            The second day’s “PLAY” matches will get selected…
            This really isn’t much different from Jim’s solution, just a bit more generic.

            This can be extended to make even more refinements, but given the spec that was given… :)

            Not sure what you mean about a regex plugin, but what Jim and I have described requires no plugin.

            1 Reply Last reply Reply Quote 0
            • Sven RyglertS
              Sven Ryglert
              last edited by

              Thanks Scott. The log shows material that is playing between 10 and 15 sec before next material is played and that goes on 24/7 therefore it generates a heavy load of lines…

              I just found out another solution

              I searched for 2016-10-02 from top of the doc and 2016-10-02 00:00:09 was marked
              Then I clicked on Edit and Mark start/end from the Notepad menu
              Made another search for 2016-10-02 but checked Loop and Up and 2016-10-02 00:00:39 was marked
              Edit and Mark start/end again. Hepp! The span was marked up and easy to copy.

              Thanks Jim and Scott. i have been learning a lot from your answers.

              1 Reply Last reply Reply Quote 1
              • Jim DaileyJ
                Jim Dailey
                last edited by

                @Sven-Ryglert Thank you. I didn’t know there was a command on the Edit menu to Start/Stop marking text, even after about 5 years of using N++! :-)

                1 Reply Last reply Reply Quote 0
                • Scott SumnerS
                  Scott Sumner
                  last edited by

                  Yes, the Edit -> Begin/End Select is a pretty handy thing when you need to select huge sections of text; sadly it does not have a default shortcut keycombo.

                  It might be little-known that you can also do column-selections with it, for example, invoke Begin/End Select at a starting point, move to a different point by alt+Lclick, then invoke Begin/End Select again and you get a column block between the two points.

                  1 Reply Last reply Reply Quote 2
                  • Jim DaileyJ
                    Jim Dailey
                    last edited by

                    @Scott-Sumner Boom!! The sound of my head exploding! Yet another great new discovery.

                    Scott SumnerS 1 Reply Last reply Reply Quote 0
                    • Scott SumnerS
                      Scott Sumner @Jim Dailey
                      last edited by

                      @Jim-Dailey

                      How about one more? You don’t have to use the mouse for the column-select: At a starting point, invoke Begin/End Select. Move the caret downward to a new point, then Shift+Alt+RightArrow to highlight a single character that you want as the last character in the column block. Invoke Begin/End again. Boom…column block. :)

                      Also works similarly if the starting point is below the ending point…

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

                        Hello, Scott

                        I haven’t noticed the relation between the Begin/End select feature and the column mode selection, yet ! Many thanks for these very nice tricks, indeed !

                        Cheers,

                        guy038

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