• Login
Community
  • Login

Sort Lines Lexicographically did not work

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
61 Posts 20 Posters 25.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.
  • A
    Alan Kilborn @mplungjan
    last edited by Dec 20, 2021, 1:25 PM

    @mplungjan said in Sort Lines Lexicographically did not work:

    This is the only thing that worked for me. What a pain

    What is the only thing that worked for you?
    And what is a “pain”?

    I presume you mean having to deal with inconsistent line-endings in your file before being able to sort the lines?

    Perhaps you should be happy that Notepad++ refusing to sort the lines correctly has alerted you to the fact that your file is technically corrupted?

    P 1 Reply Last reply Dec 29, 2021, 8:46 PM Reply Quote 1
    • P
      Peter Vazny @Alan Kilborn
      last edited by Dec 29, 2021, 8:46 PM

      @alan-kilborn said in Sort Lines Lexicographically did not work:

      Perhaps you should be happy that Notepad++ refusing to sort the lines correctly has alerted you to the fact that your file is technically corrupted?

      I am grateful for the product, but from a UI perspective, this is definitely an inconsistent behavior between what is displayed and what sort expects. If Notepad++ treats the different line endings the same for display, it should also treat them the same for sorting. At the minimum it should display a warning that the reason it did not perform a sort is due to line ending inconsistencies.

      For the record all my line endings were LF, but because it was an unsaved new document that defaulted to EOL Convention -> Windows (CR LF), the sort was not working. I had to search for the problem and read through this thread to figure out what was wrong. Which seems a long way around to working out a problem with something that should be intuitive.

      A 1 Reply Last reply Dec 29, 2021, 10:39 PM Reply Quote 2
      • A
        Alan Kilborn @Peter Vazny
        last edited by Dec 29, 2021, 10:39 PM

        @peter-vazny

        The real problem is that the editing component, Scintilla, while it supports the notion of a line-ending type for a file, it does not enforce that (sadly). If it did that, the downstream feature in Notepad++, in this case sorting, would work correctly. Sure, Notepad++ developers could compensate for that, but for whatever reason, have chosen not to.

        A 1 Reply Last reply Dec 30, 2021, 2:26 AM Reply Quote 1
        • A
          Alan Kilborn @Alan Kilborn
          last edited by Dec 30, 2021, 2:26 AM

          @alan-kilborn said in Sort Lines Lexicographically did not work:

          Notepad++ developers could compensate for that, but for whatever reason, have chosen not to.

          And this looks like the official tracking item for what hasn’t been done: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/7735

          1 Reply Last reply Reply Quote 1
          • T Terry R referenced this topic on Jun 28, 2022, 8:47 AM
          • T Terry R referenced this topic on Jun 28, 2022, 8:49 AM
          • J
            Jeffrey Edison
            last edited by Jul 4, 2022, 1:20 PM

            Here was the problem that I had. Notepad++ was setup with Windows style line endings (CR LF: \r\n), but the file contained Unix style line endings (LF: \n), so while it appeared to have correct line endings, it did not according to Windows style line endings. Thus the sort did nothing.
            Solution: cut and paste into a new file so that the LF became CR LF.

            1 Reply Last reply Reply Quote 0
            • C
              Cooeeeee
              last edited by Jan 11, 2023, 9:41 AM

              I’ll drop a comment here because Google brought me here.

              I’ve been using Notepad++ for years. My most used feature is Sort Lexicographically to sort a column mode selection (i.e. I essentially have a table of data). For example, I’ll use Alt+Shift and maybe select columns 27-30 across all lines, then do a lexicographical sort on that.

              Today I encountered a list that wasn’t sorting correctly. I’ve not had this problem before. My lines had some tabs prior to the columns I was trying to sort. Reading through this thread gave me the idea to try the “TAB to space” conversion. My listed would sort correctly after making that adjustment. Somehow the tabs were breaking it. I figured I’ll leave this tip here in case it can help anyone else.

              It breaks again if I use the Space To Tab (All) option.

              The spaces / tabs are not part of the column I’m trying to sort - they are outside my selection.

              A C 2 Replies Last reply Jan 11, 2023, 12:10 PM Reply Quote 0
              • A
                Alan Kilborn @Cooeeeee
                last edited by Jan 11, 2023, 12:10 PM

                @Cooeeeee said in Sort Lines Lexicographically did not work:

                My lines

                Might have been more helpful if you had shown the data that illustrates your failure…

                1 Reply Last reply Reply Quote 0
                • R
                  Rui Chen
                  last edited by Apr 14, 2023, 8:53 PM

                  Here is a very simple strange case:

                  > sort file1
                  end of line
                  first line, all spaces in the file
                  { key = ‘7’, a},
                  { key = ‘7 Pro’, a},

                  > sort file2
                  end of line
                  first line, all spaces in the file
                  { key = ‘7 Pro’, v},
                  { key = ‘7’, v},

                  Only difference is that “a” vs “v” in those two lines.

                  P 1 Reply Last reply Apr 14, 2023, 9:20 PM Reply Quote 0
                  • P
                    PeterJones @Rui Chen
                    last edited by Apr 14, 2023, 9:20 PM

                    @Rui-Chen ,

                    Sorry, I cannot replicate. You either didn’t do a good job of explaining the data and sequence you took, or you did something wrong when trying to do your sort.

                    If I have two nearly-identical data sets, which only differ in a vs v in the location you described, the two files sort identically using Edit > Line Operations > Sort Lines Lexicographically Ascending

                    file “a”, before sort

                    1
                    { key = '7 Pro', a},
                    2
                    { key = '7', a},
                    3
                    

                    file “a” after sort

                    1
                    2
                    3
                    { key = '7 Pro', a},
                    { key = '7', a},
                    

                    file “v” before sort

                    1
                    { key = '7 Pro', v},
                    2
                    { key = '7', v},
                    3
                    

                    file “v” after sort

                    1
                    2
                    3
                    { key = '7 Pro', v},
                    { key = '7', v},
                    

                    There is no difference between those results, and they work as expected.

                    You might want to check if you have different line endings in the different files, or if one file has mixed line endings and the other doesn’t, or something. (View > Show Symbol > Show All Characters or Show End of Line). You can embed a screenshot with the line-endings shown if you think it will help us replicate your problem.

                    Please make use of the </> button in the toolbar to mark up example text, and make the example text actually replicate the problem. Also, share ?-menu’s Debug Info so we know what version, environment, and plugins you have, which might be influencing things.

                    1 Reply Last reply Reply Quote 1
                    • C
                      Coises @Cooeeeee
                      last edited by Apr 14, 2023, 10:31 PM

                      @Cooeeeee said in Sort Lines Lexicographically did not work:

                      I’ve been using Notepad++ for years. My most used feature is Sort Lexicographically to sort a column mode selection (i.e. I essentially have a table of data). For example, I’ll use Alt+Shift and maybe select columns 27-30 across all lines, then do a lexicographical sort on that.

                      Today I encountered a list that wasn’t sorting correctly. I’ve not had this problem before. My lines had some tabs prior to the columns I was trying to sort. Reading through this thread gave me the idea to try the “TAB to space” conversion. My listed would sort correctly after making that adjustment. Somehow the tabs were breaking it. I figured I’ll leave this tip here in case it can help anyone else.

                      Indeed, sorting by column does not work if there are tabs before the columns. No doubt for efficiency, the column sort in Notepad++ determines a single pair of starting and ending character positions to apply to all lines, rather than independently extracting the selected text on every line; tabs are treated as single characters, no matter how wide they are on the display.

                      If you’re interested in a pre-release version of a plugin, Columns++ includes a sort function which works as expected when there are tabs in the document.

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