• Login
Community
  • Login

How to replace intrementally?

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
25 Posts 4 Posters 2.4k 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.
  • L
    Levente Horváth
    last edited by May 3, 2020, 1:09 PM

    I have a question, I’m a noob, and don’t know anything about programming. How can I lets say replace numbers from “x” to “y” in fours?
    I want to edit unix times from 1588384800 to 1588393920 and change the date to the next day. And each column contains 4 of the same unix time.

    A 1 Reply Last reply May 3, 2020, 1:12 PM Reply Quote 0
    • A
      Alan Kilborn @Levente Horváth
      last edited by May 3, 2020, 1:12 PM

      @Levente-Horváth

      I may not be realistically possible without programming, but your description cries out for posting a short sample of the data as well…

      L 1 Reply Last reply May 3, 2020, 1:18 PM Reply Quote 0
      • L
        Levente Horváth @Alan Kilborn
        last edited by Levente Horváth May 3, 2020, 1:18 PM May 3, 2020, 1:18 PM

        @Alan-Kilborn There are thousand of timestamps like this and want to change them to the current day always.

          "timestamp": 1588464027,
        
        
        
        
        },
        {
           
          "timestamp": 1588464027,
        
        
        
        },
        {
        
          "timestamp": 1588464027,
        
        
        
        },
        {
        
          "timestamp": 1588464027,
        
        
        
        
        },
        {
           
          "timestamp": 1588464052,
        
        
        
        
        },
        {
           
          "timestamp": 1588464052,
        
        
        
        },
        {
        
          "timestamp": 1588464052,
        
        
        
        },
        {
        
          "timestamp": 1588464052,
        
        E 1 Reply Last reply May 3, 2020, 1:20 PM Reply Quote 0
        • E
          Ekopalypse @Levente Horváth
          last edited by May 3, 2020, 1:20 PM

          @Levente-Horváth

          What comes immediately to my mind are questions like

          Current day but keeping time?
          Current day and current time?
          Current day and fixed other time?

          L 1 Reply Last reply May 3, 2020, 1:22 PM Reply Quote 0
          • L
            Levente Horváth @Ekopalypse
            last edited by May 3, 2020, 1:22 PM

            @Ekopalypse These are I believe times from 05. 03. 02:00 to 04:32. I want to change them to 05. 04. 02:00 to 04:32. I don’t need a program or anything just how can I do them manually? They increment in 25.

            E 1 Reply Last reply May 3, 2020, 1:28 PM Reply Quote 0
            • E
              Ekopalypse @Levente Horváth
              last edited by Ekopalypse May 3, 2020, 1:29 PM May 3, 2020, 1:28 PM

              @Levente-Horváth

              those timestamp look like unix timestamps , if this is the case then you can simply add 86400 seconds to it.

              L 1 Reply Last reply May 3, 2020, 1:30 PM Reply Quote 3
              • L
                Levente Horváth @Ekopalypse
                last edited by May 3, 2020, 1:30 PM

                @Ekopalypse How can I highlight all of them, there are 1500 timestamps, 4 of each and they are similar til 1588. But I’m an idiot of not thinking adding 86400, this was a big help already and gave me some ideas.

                E 1 Reply Last reply May 3, 2020, 1:35 PM Reply Quote 0
                • E
                  Ekopalypse @Levente Horváth
                  last edited by Ekopalypse May 3, 2020, 1:36 PM May 3, 2020, 1:35 PM

                  @Levente-Horváth

                  If you only want to highlight them then use
                  find dialog, goto mark tab, use the following regex \d{10}
                  check regular expression in search mode and press mark all

                  L 1 Reply Last reply May 3, 2020, 1:39 PM Reply Quote 1
                  • L
                    Levente Horváth @Ekopalypse
                    last edited by May 3, 2020, 1:39 PM

                    @Ekopalypse This is great, and how can I add 86400 to all of them? :')

                    E 1 Reply Last reply May 3, 2020, 1:47 PM Reply Quote 0
                    • E
                      Ekopalypse @Levente Horváth
                      last edited by May 3, 2020, 1:47 PM

                      @Levente-Horváth

                      because you said

                      I don’t need a program or anything just how can I do them manually?

                      the obvious answer would be by typing in the sum of the existing value
                      and 86400 but I get the impression that you want to do something
                      slightly different. I assume you want to select all timestamp
                      instances and then automatically add 86400 to them, correct?
                      If so, then you need some kind of script/program. If not, then
                      I still haven’t understood how you want to change these timestamps.

                      L 1 Reply Last reply May 3, 2020, 1:52 PM Reply Quote 3
                      • L
                        Levente Horváth @Ekopalypse
                        last edited by Levente Horváth May 3, 2020, 1:52 PM May 3, 2020, 1:52 PM

                        @Ekopalypse Yes that’s correct, I thought it would be easy, now I have every timestamp selected and I thought with the replace or Column Editor I can add 86400 to all of them.

                        L 1 Reply Last reply May 3, 2020, 1:56 PM Reply Quote 0
                        • L
                          Levente Horváth @Levente Horváth
                          last edited by May 3, 2020, 1:56 PM

                          @Levente-Horváth What if I do Find What: \d{10}, and Replace With: \d{10}+86400

                          E A 2 Replies Last reply May 3, 2020, 2:01 PM Reply Quote 0
                          • E
                            Ekopalypse @Levente Horváth
                            last edited by Ekopalypse May 3, 2020, 2:02 PM May 3, 2020, 2:01 PM

                            @Levente-Horváth

                            No, you do not have it selected, you just highlighted it, this is different and no, regex is not a calculator.
                            If you have to do such things more often then I would recommend to
                            install one of the scripting plugins like PythonScript, LuaScript and create
                            a little script to do this for you.
                            If you want to go that way we certainly can give you help solving this.

                            L 1 Reply Last reply May 3, 2020, 2:03 PM Reply Quote 3
                            • A
                              Alan Kilborn @Levente Horváth
                              last edited by May 3, 2020, 2:01 PM

                              @Levente-Horváth said in How to replace intrementally?:

                              Replace With: \d{10}+86400

                              I thought @Ekopalypse makes it clear above that things DO NOT work that way.

                              1 Reply Last reply Reply Quote 1
                              • L
                                Levente Horváth @Ekopalypse
                                last edited by Levente Horváth May 3, 2020, 2:03 PM May 3, 2020, 2:03 PM

                                @Ekopalypse Then I will do it that way, whatever it takes.

                                1 Reply Last reply Reply Quote 1
                                • E
                                  Ekopalypse
                                  last edited by May 3, 2020, 2:05 PM

                                  So you are going to install, e.g. PythonScript plugin via the plugin admin?
                                  If yes, what should the script do? Just add one day aka 86400 seconds?
                                  Or more flexible like you’ve been asked to enter the seconds you want to add?

                                  L 1 Reply Last reply May 3, 2020, 2:11 PM Reply Quote 0
                                  • L
                                    Levente Horváth @Ekopalypse
                                    last edited by May 3, 2020, 2:11 PM

                                    @Ekopalypse I just want to add 86400 to the existing numbers.

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      Ekopalypse
                                      last edited by May 3, 2020, 2:15 PM

                                      ok, once you installed PythonScript, goto plugins->Python Script->New Script
                                      give it a meaningful name and save it.
                                      Paste the following into the newly create document and save it.

                                      from Npp import editor
                                      
                                      def add_a_day(m):
                                          return int(m.group(0)) + 86400
                                      
                                      editor.rereplace('\d{10}', add_a_day)
                                      

                                      Goto to plugin->Python Script->Scripts and execute your newly created script.

                                      If you want to add it to the toolbar play with the configuration menu of pythonscript.

                                      A 1 Reply Last reply May 3, 2020, 2:41 PM Reply Quote 4
                                      • A
                                        Alan Kilborn @Ekopalypse
                                        last edited by May 3, 2020, 2:41 PM

                                        @Ekopalypse said in How to replace intrementally?:

                                        editor.rereplace(‘\d{10}’, add_a_day)

                                        Perhaps the OP’s data contains other 10 digit numbers, not related to timestamps??

                                        I might go with this instead:

                                        editor.rereplace('"timestamp": \K\d{10}', add_a_day)

                                        Ensures that we are only changing the timestamp values.

                                        L 1 Reply Last reply May 3, 2020, 2:49 PM Reply Quote 3
                                        • L
                                          Levente Horváth @Alan Kilborn
                                          last edited by May 3, 2020, 2:49 PM

                                          @Alan-Kilborn No, it doesn’t contain any other 10 digit number, but I thank all of you, it works!

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