Community
    • Login

    Sort Lines acording to another document?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    17 Posts 4 Posters 1.1k 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.
    • Alan KilbornA
      Alan Kilborn @Jacob Wiqvist
      last edited by

      @Jacob-Wiqvist

      Notepad++ isn’t going to be able to help you with that. You’re going to have to write some sort of program to do that.

      Jacob WiqvistJ 1 Reply Last reply Reply Quote 1
      • Jacob WiqvistJ
        Jacob Wiqvist @Alan Kilborn
        last edited by Jacob Wiqvist

        @Alan-Kilborn

        No plug-in that can do that?

        If any one smarter then me could make a script/plugin for this it would be fantastic?

        I want to select how many of the letters that have to match for it be reorderd.

        8 or something.

        If 8 first letters match move line to same as document x

        Something like that!

        PeterJonesP 1 Reply Last reply Reply Quote 0
        • PeterJonesP
          PeterJones @Jacob Wiqvist
          last edited by PeterJones

          @Jacob-Wiqvist ,

          I don’t think there is any plugin that can sort the lines of file1 based on the order of lines in file2. And it’s doubtful that anyone would write a full plugin just to solve this specific problem for you. There is a PythonScript plugin, which allows writing scripts in Python that will automate things in Notepad++, and someone might take an interest in doing that.

          But your problem statement is a little vague.

          1. Does your file really have the line numbers embedded in the text like you showed, or were you just adding in those prefix numbers to indicate the line numbers that Notepad++ shows? Because as it is, no one could just copy/paste your data to try it out
          2. Your specs are a bit vague. Do you want a blank line in file1 for every line in file2 that has // ? If so, what about lines in file2 that are blank? or just a bunch of spaces? or don’t match the pattern? or xxxx
          3. Where do you put a line from file1 that doesn’t match anything from file2?

          Without that, and probably a bunch of other details that you’ve neglected to share, nobody would get the script to work the way you want it on the first try. And iterative code writing with an incomplete spec is a nightmare, especially when done through a forum on a volunteer basis.

          This forum is not a code writing service, by the way; we exist to help each other use Notepad++ better, but Notepad++ isn’t always the right tool.

          Speaking of the right tool, it sounds like you have a couple tables exported from a database, and you want to sort file1 to match the order of file2. That sounds a lot more like a database task than a text-editor/Notepad++ task. In which case, find a database forum to help you (though they will likely tell you they are not a code writing service, either).

          ----

          Please note: This Community Forum is not a data transformation service; you should not expect to be able to always say “I have data like X and want it to look like Y” and have us do all the work for you. If you are new to the Forum, and new to regular expressions, we will often give help on the first one or two data-transformation questions, especially if they are well-asked and you show a willingness to learn; and we will point you to the documentation where you can learn how to do the data transformations for yourself in the future. But if you repeatedly ask us to do your work for you, you will find that the patience of usually-helpful Community members wears thin. The best way to learn regular expressions is by experimenting with them yourself, and getting a feel for how they work; having us spoon-feed you the answers without you putting in the effort doesn’t help you in the long term and is uninteresting and annoying for us.

          This same philosophy applies when we tell you that your data transformation cannot be easily accomplished with builtin features, and it sounds like a generic programming problem, which could be done in a programming language of your choice, or by using a scripting plugin inside Notepad++; or by writing a plugin for Notepad++. I do not recall ever seeing someone in this forum say they were willing to write plugins for free for anyone who makes a request. A lot more often, if the problem interests someone and they have an idea, I see someone (including myself) volunteer to write a script for a scripting plugin – but only with a well-defined problem that they have an idea for a solution for that interests them and that they have time for; if any of those conditions are not met, they usually don’t volunteer for it. And we are not a code-writing service, so you cannot expect that someone will write code to solve your problem for you, just because you are a Notepad++ user.

          1 Reply Last reply Reply Quote 4
          • Jacob WiqvistJ
            Jacob Wiqvist
            last edited by

            @PeterJones said in Sort Lines acording to another document?:

            were you just adding in those prefix numbers to indicate the line numbers that Notepad++ shows?

            I was just adding in those.

            @PeterJones said in Sort Lines acording to another document?:

            Your specs are a bit vague. Do you want a blank line in file1 for every line in file2 that has // ? If so, what about lines in file2 that are blank? or just a bunch of spaces? or don’t match the pattern? or xxxx

            The important thing is that some lines are sorted as the second document.
            The script should not add things like // or, or any thing.

            Bothe documents have the same “parameter text” but they are mixed upp.

            Bothe could have a line like:

            gaiusfdghpiuhsd_lisadfguyl_iygoigiugh = 0.54325

            But in the first document it have some other numbers and are placed on line 243.

            Document 2 on Line 42: gaiusfdghpiuhsd_lisadfguyl_iygoigiugh = 0.54325

            Document 1 on Line 243: gaiusfdghpiuhsd_lisadfguyl_iygoigiugh = 0.54367

            I want this part “gaiusfdghpiuhsd_lisadfguyl_iygoigiugh” to match in both documents, being on line 42.

            After that I can run the Compare or ComparePlus and see what numbers that differs.

            @PeterJones said in Sort Lines acording to another document?:

            Where do you put a line from file1 that doesn’t match anything from file2?

            Basicly any where is ok.

            It could be as close as possible to its original line number or at the bottom.

            I fully understand the note. But maybe someone of you know a method of doing this or know a program, app that could do this, or could have use of this your self, and decide that you want to create this. I am imagining that most here are programmers, and I am not. I can not expect any thing, I can only hope. I am a elektrician, mecanic and tecknishian, with a bit of dyslexia. So I basically know I can’t do this.

            Terry RT 1 Reply Last reply Reply Quote 0
            • Terry RT
              Terry R @Jacob Wiqvist
              last edited by

              @Jacob-Wiqvist said in Sort Lines acording to another document?:

              After that I can run the Compare or ComparePlus and see what numbers that differs

              So is your intention to sort one file the same as another file so you can use the Compare plugin to identify lines/numbers that are missing. Because if that is the real reason, there is very likely a better way of achieving that.

              Terry

              Jacob WiqvistJ 2 Replies Last reply Reply Quote 1
              • Jacob WiqvistJ
                Jacob Wiqvist @Terry R
                last edited by

                @Terry-R

                Sor of.

                I wan’t to sort lines that are named the same as another file that have the same names but not the same numbers after the name.

                I can’t be more clear than this I think.

                1 Reply Last reply Reply Quote 0
                • Jacob WiqvistJ
                  Jacob Wiqvist @Terry R
                  last edited by

                  @Terry-R said in Sort Lines acording to another document?:

                  @Jacob-Wiqvist said in Sort Lines acording to another document?:

                  After that I can run the Compare or ComparePlus and see what numbers that differs

                  So is your intention to sort one file the same as another file so you can use the Compare plugin to identify lines/numbers that are missing. Because if that is the real reason, there is very likely a better way of achieving that.

                  Terry

                  No the line number are not interesting at all, only the parameter after the “line description.

                  But I any way want the lines in one file match another file.

                  Jacob WiqvistJ 1 Reply Last reply Reply Quote 0
                  • Jacob WiqvistJ
                    Jacob Wiqvist @Jacob Wiqvist
                    last edited by

                    @Jacob-Wiqvist

                    I tried to apply this:
                    menu option Edit -> Line operations -> Sort lines lexicographically

                    To bothe files and then apply compare.

                    But this did not work as desired.

                    The best thing is if I could sort the lines the same as the second document, and select how many letters that should match in the line to move it or something.

                    Maybe I am thinking wrong, how to do it.

                    PeterJonesP 1 Reply Last reply Reply Quote 0
                    • PeterJonesP
                      PeterJones @Jacob Wiqvist
                      last edited by PeterJones

                      @Jacob-Wiqvist said in Sort Lines acording to another document?:

                      menu option Edit -> Line operations -> Sort lines lexicographically
                      To bothe files and then apply compare.
                      But this did not work as desired.

                      Can you show an example of that “not working as desired”?

                      It may be that there’s an option on the Compare Plus plugin you can change (or maybe a feature that exists in Compare Plus that didn’t exist in the original Compare plugin – I know the Compare Plus is better at aligning things than the original Compare was)

                      file1:

                      six = 6
                      four = 4
                      two = 2
                      seven = 7
                      eight = 8
                      

                      file2:

                      one = 0.5 + 0.25 + 0.125 + 0.0625 + ...
                      two = 4^0.5
                      
                      four = two + two
                      
                      six = (sticks =~ s/t|(cks)/(?1x)/)
                      seven = sqrt(fortynine)
                      thirtysix = six squared
                      

                      sorted and compared:
                      4e888008-f0ff-4f67-9f03-ca3cd96d5a4f-image.png
                      That highlights the exact differences as I would expect. (And that’s with the old Compare plugin) (Okay, technically, I sorted then “removed blank lines” in both files)

                      Jacob WiqvistJ 1 Reply Last reply Reply Quote 0
                      • Jacob WiqvistJ
                        Jacob Wiqvist @PeterJones
                        last edited by

                        @PeterJones said in Sort Lines acording to another document?:

                        @Jacob-Wiqvist said in Sort Lines acording to another document?:

                        menu option Edit -> Line operations -> Sort lines lexicographically
                        To bothe files and then apply compare.
                        But this did not work as desired.

                        Can you show an example of that “not working as desired”?

                        It may be that there’s an option on the Compare Plus plugin you can change (or maybe a feature that exists in Compare Plus that didn’t exist in the original Compare plugin – I know the Compare Plus is better at aligning things than the original Compare was)

                        file1:

                        six = 6
                        four = 4
                        two = 2
                        seven = 7
                        eight = 8
                        

                        file2:

                        one = 0.5 + 0.25 + 0.125 + 0.0625 + ...
                        two = 4^0.5
                        
                        four = two + two
                        
                        six = (sticks =~ s/t|(cks)/(?1x)/)
                        seven = sqrt(fortynine)
                        thirtysix = six squared
                        

                        sorted and compared:
                        4e888008-f0ff-4f67-9f03-ca3cd96d5a4f-image.png
                        That highlights the exact differences as I would expect. (And that’s with the old Compare plugin) (Okay, technically, I sorted then “removed blank lines” in both files)

                        That is what I wan’t to do automatically!

                        If Ther is a program, app , plugin, webpage or anything that can do that I am interested.

                        PeterJonesP 1 Reply Last reply Reply Quote 0
                        • PeterJonesP
                          PeterJones @Jacob Wiqvist
                          last edited by

                          @Jacob-Wiqvist said in Sort Lines acording to another document?:

                          That is what I wan’t to do automatically

                          There is no plugin that will save you those four menu operations into one. However, I think you can record a macro to do it (on my phone, so cannot test it for you). But sort, remove blank lines, and I believe toggle active view are all macro recordable

                          Jacob WiqvistJ 1 Reply Last reply Reply Quote 0
                          • Jacob WiqvistJ
                            Jacob Wiqvist @PeterJones
                            last edited by

                            @PeterJones said in Sort Lines acording to another document?:

                            @Jacob-Wiqvist said in Sort Lines acording to another document?:

                            That is what I wan’t to do automatically

                            There is no plugin that will save you those four menu operations into one. However, I think you can record a macro to do it (on my phone, so cannot test it for you). But sort, remove blank lines, and I believe toggle active view are all macro recordable

                            What four menu options?

                            Did I miss something?

                            PeterJonesP 1 Reply Last reply Reply Quote 0
                            • PeterJonesP
                              PeterJones @Jacob Wiqvist
                              last edited by

                              @Jacob-Wiqvist said in Sort Lines acording to another document?:

                              What four menu options?
                              Did I miss something?

                              I had hoped that my image headers saying “sorted”, and then my later paragraph saying “I sorted then ‘‘removed blank lines’’ in both files” would have communicated that. But to be more explicit:

                              The steps I took in my screenshots on Saturday were:

                              1. Put file1 in view 1 and file2 in view 2; have File 1 active
                              2. Edit > Line Operations > Sort Lexicographically Ascending
                              3. Edit > Line Operations > Remove Empty Lines
                              4. Use F8 (View > Focus on Another View) to make file2 active
                              5. Edit > Line Operations > Sort Lexicographically Ascending
                              6. Edit > Line Operations > Remove Empty Lines
                              7. Plugins > Compare (or Compare Plus) > Compare

                              The “four menu options” I meant were steps 2,3, 5,6.

                              When I tried it out today (now that I’m back on a PC), I found that the View>Focus (F8) is not macro-recordable, though it is macro-playable. I also found that ComparePlus wanted a blank line at the start of both to help it align (even though the older Compare didn’t), so I’ll include it below:

                              The following macro will Sort the active view, Remove Blank Lines in the active view, then add a single blank line to the beginning of that view. Then it will toggle views. Then it will do those three steps on the second view. Once there, it should be ready for you to use Plugins > Compare Plus > Compare.

                                      <Macro name="SortAndTrimBothViews" Ctrl="no" Alt="no" Shift="no" Key="0">
                                          <Action type="2" message="0" wParam="42059" lParam="0" sParam="" />
                                          <Action type="2" message="0" wParam="42055" lParam="0" sParam="" />
                                          <Action type="0" message="2316" wParam="0" lParam="0" sParam="" />
                                          <Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000D;&#x000A;" />
                                          <Action type="0" message="2316" wParam="0" lParam="0" sParam="" />
                                          <Action type="2" message="0" wParam="44072" lParam="0" sParam="" />
                                          <Action type="2" message="0" wParam="42059" lParam="0" sParam="" />
                                          <Action type="2" message="0" wParam="42055" lParam="0" sParam="" />
                                          <Action type="0" message="2316" wParam="0" lParam="0" sParam="" />
                                          <Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000D;&#x000A;" />
                                          <Action type="0" message="2316" wParam="0" lParam="0" sParam="" />
                                      </Macro>
                              
                              1. Open %AppData%\Notepad++\shortcuts.xml
                              2. Paste in the macro into the <Macros> section
                              3. Save shortcuts.xml
                              4. Completely exit Notepad++
                              5. Run Notepad++

                              From now on, Macros > SortAndTrimBothViews will be in your macros menu (and you can use Macro > Modify Shortcut/Delete Macro to add a keyboard shortcut to that macro, if you want). So then the steps for you would be

                              1. Put file1 in view 1 (left)
                              2. Put file2 in view 2 (right)
                              3. Run Macros > SortAndTrimBothViews
                              4. Run Plugins > Compare Plus > Compare
                              Jacob WiqvistJ 1 Reply Last reply Reply Quote 2
                              • Jacob WiqvistJ
                                Jacob Wiqvist @PeterJones
                                last edited by Jacob Wiqvist

                                @PeterJones

                                Extreamly bigg thank you for the efort, I see you have put some time in to this.

                                Unfortunatly it did not work.

                                Her are the 2 exampels from the files I want the lines in"model1" to be orderd after document “model2”

                                [AERODYNAMICS]
                                drag_coef_zero_lift = 0.0205078124 ; The zero lift drag polar
                                drag_coef_flaps = 0.11865233 ; Cd_df Drag Coefficient - Flaps
                                drag_coef_gear = 0.03466797 ; CDg (Drag Coefficient - Landing Gear)
                                drag_coef_spoilers = 0.023464 ; 0.023464 Cd_ds Drag Coefficient - Spoiler
                                drag_coef_air_spoilers = 0.0236436
                                lift_coef_daoa = 2.19384765 ; lift per change in angle of attack rate
                                lift_coef_pitch_rate = -10.4453125 ; The change in lift per change in pitch rate
                                lift_coef_delta_elevator = -0.3583984 ; The change in lift per change in elevator deflection
                                lift_coef_horizontal_incidence = 1.89208984 ; The change in lift per change in horizontal incidence angle
                                lift_coef_flaps = 1.36864 ; Change in lift due to flaps
                                lift_coef_spoilers = -0.0498002 ; Change in lift due to spoilers
                                lift_coef_air_spoilers = -0.049264
                                roll_moment_slip_angle = -0.081964295 ; The change in roll moment per sideslip angle(DIHEDRAL EFFECT)
                                roll_moment_delta_aileron = -0.39990233 ; (control)The change in roll moment per change in aileron deflection
                                roll_moment_delta_rudder = -0.04345704 ; (control)The change in roll moment per change rudder deflection
                                roll_moment_roll_damping = -3.96386717 ; Cl_p Roll Moment - Roll Rate (Damping)
                                roll_moment_yaw_rate = -0.1015623 ; Cl_r Roll Moment - Yaw Rate
                                roll_moment_spoilers = 0.05522 ; The change in roll moment due to spoilers
                                roll_moment_delta_aileron_trim_scalar = -0.00523 ; Change in roll moment due to aileron trim
                                pitch_moment_aoa_0 = -0.11464 ; Pitch moment at zero angle - of - attack
                                pitch_moment_daoa = 0.283220 ; The change in pitch moment per change in angle of attack
                                pitch_moment_delta_elevator = -0.7875936 ; The change in pitch moment per change in elevator deflection
                                pitch_moment_horizontal_incidence = 4.421377 ; The change in pitch moment per change in horizontal incidence angle
                                pitch_moment_pitch_damping = -1464.564 ; The change in pitch moment per change in pitch rate(PRIMARY PITCH STABILITY FACTOR). deg/s
                                pitch_moment_delta_elevator_propwash = -3.64012 ; Cm_dT Pitch Moment - Thrust
                                pitch_moment_pitch_propwash = 0.0 ; Cmq_dT Pitch Damping - Thrust
                                pitch_moment_delta_trim = -3.764022 ; The change in pitch moment per change in trim
                                pitch_moment_flaps = 0.01643210 ; The pitch moment due to flaps
                                pitch_moment_gear = -0.00262042 ; The pitch moment due to gear
                                pitch_moment_spoilers = -0.0595002 ; The pitch moment due to spoilers
                                yaw_moment_slip_angle = 0.288571 ; The change in yaw moment per change sideslip angle(WEATHER VANING EFFECT)
                                yaw_moment_delta_aileron = -0.007324217 ; (adverse yaw)  The change in yaw moment per change aileron deflection
                                yaw_moment_delta_rudder = 0.04886719 ; (control)The change in yaw moment per change in rudder deflection PRIMARY YAW POWER FACTOR
                                yaw_moment_delta_rudder_propwash = 0.0 ; (control)
                                yaw_moment_yaw_propwash = 0.0 ; (damping)
                                yaw_moment_roll = 0.0678712 ; (adverse yaw) The change in yaw moment per change in roll rate deg/s
                                yaw_moment_yaw_damping = -0.896484374 ; (damping)The change in yaw moment per change in yaw rate(PRIMARY YAW STABILITY FACTOR deg/s)
                                yaw_moment_delta_rudder_trim_scalar = 1.123621 ; Change in yaw moment due to rudder trim
                                side_force_slip_angle = -0.1330859377 ; (yaw angle) The change in side force per change in side slip angle
                                side_force_delta_rudder = 0.33150390614 ; The change in side force per change in rudder deflection
                                side_force_roll_rate = 0.089062362 ; (roll velocity)  The change in side force per change in roll rate
                                side_force_yaw_rate = 0.099541314 ; (yaw velocity) The change in side force per change in yaw rate
                                
                                
                                [aerodynamics]
                                //
                                elevator_lift_coef = 1.62 			// EXP WAS 1.80
                                rudder_lift_coef = 1.725			// EXP WAS 1.25
                                aileron_up_drag_coef = 0.45			// EXP WAS 0.5
                                aileron_down_drag_coef = 0.90		// EXP WAS 1.0
                                fuselage_lateral_cx = 0.36			// EXP
                                compute_aero_center=0
                                aero_center_lift=-8.39376
                                presspt_fwd_Alpha0_pMAC=0
                                presspt_fwd_AlphaStall_pMAC=0
                                presspt_fwd_AlphaHiStall_pMAC=-0.25
                                // LIFT COEF
                                lift_coef_at_drag_zero_flaps=0
                                lift_coef_at_drag_zero=0
                                lift_coef_delta_elevator=-0.358398
                                lift_coef_horizontal_incidence=1.891602
                                lift_coef_flaps=1.37843
                                lift_coef_spoilers=-0.05
                                lift_coef_air_spoilers=-0.05
                                // DRAG COEF
                                drag_coef_zero_lift=0.018066
                                drag_coef_flaps=0.117188
                                drag_coef_gear=0.029785
                                drag_coef_spoilers=0.02392
                                drag_coef_air_spoilers=0.02392
                                //
                                side_force_delta_rudder=-0.1743
                                side_force_roll_rate=0.014648
                                side_force_yaw_rate=0
                                side_force_slip_angle=-1.24512 // -0.124512
                                
                                pitch_moment_delta_elevator=-1.391602
                                pitch_moment_delta_trim=-3.525
                                pitch_moment_pitch_damping=-178.222656
                                pitch_moment_aoa_0=0.014648
                                pitch_moment_daoa=9.375977
                                pitch_moment_horizontal_incidence=4.421875
                                pitch_moment_flaps=0.0155
                                pitch_moment_gear=-0.0025
                                pitch_moment_spoilers=0.005
                                pitch_moment_delta_elevator_propwash=0
                                pitch_moment_pitch_propwash=0
                                lift_coef_pitch_rate=-10.449219
                                lift_coef_daoa=2.195801
                                roll_moment_delta_aileron=-0.401855
                                roll_moment_roll_damping=-2.127441
                                roll_moment_yaw_rate=-0.019531
                                roll_moment_delta_rudder=-0.043945
                                roll_moment_slip_angle=0.072266
                                roll_moment_spoilers=0.055
                                roll_moment_delta_aileron_trim_scalar=-0.039247
                                yaw_moment_delta_rudder_trim_scalar=0.017896
                                yaw_moment_roll=0.036621
                                yaw_moment_slip_angle=0.172852
                                yaw_moment_delta_rudder=0.230469
                                yaw_moment_delta_aileron=-0.009766
                                yaw_moment_yaw_damping=-1.171875
                                yaw_moment_delta_rudder_propwash=0
                                yaw_moment_yaw_propwash=0
                                
                                

                                They are totaly diferent but at the same time the same type of parameters.

                                I changed the parameters, copied wrong. It is only a few lines of about 400 lines.

                                PeterJonesP 2 Replies Last reply Reply Quote 0
                                • PeterJonesP
                                  PeterJones @Jacob Wiqvist
                                  last edited by

                                  @Jacob-Wiqvist said in Sort Lines acording to another document?:

                                  They are totaly diferent but at the same time the same type of parameters.

                                  Just how in the world do you expect to sort model1 according to the order in model2 if model2 and model1 contain no parameters that are the same?

                                  Sorry, I cannot help you. Maybe someone else can.

                                  1 Reply Last reply Reply Quote 1
                                  • PeterJonesP
                                    PeterJones @Jacob Wiqvist
                                    last edited by PeterJones

                                    @Jacob-Wiqvist ,

                                    It is considered rude to edit a post after you have received a reply. Because your data now does match, it makes it look like I was wrong when I said your data doesn’t match; but two hours ago, it didn’t match. Now it does.

                                    -----

                                    If I take the first half of your edited post, and sort it as file1 on the left, and the second half of your edited post, and sort it as file2 on the right, then run ComparePlus > Compare, it properly lines things up. The same would have happened if you used my macro.

                                    sorted:
                                    4058568a-836a-454e-bf10-7f9e3236bf01-image.png

                                    compared:
                                    cfab95b7-8b6f-4148-9dba-35a2944cd923-image.png

                                    PEBCAK

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