Sort by contiguous digits as a single numberSort by regular expressionsTrying to sort on two fields, second then firstsort CSV by number of column in rows?Strange default sort behaviourHow to format floating point number with exactly 2 significant digits in bash?command substitution inside awkvalidate file content with bash Regular Expressions

My Project Manager does not accept carry-over in Scrum, Is that normal?

What would influence an alien race to map their planet in a way other than the traditional map of the Earth

A famous scholar sent me an unpublished draft of hers. Then she died. I think her work should be published. What should I do?

Quick Yajilin Puzzles: Scatter and Gather

Why does this image of Jupiter look so strange?

What is the difference between an astronaut in the ISS and a freediver in perfect neutral buoyancy?

Why solving a differentiated integral equation might eventually lead to erroneous solutions of the original problem?

How do pilots align the HUD with their eyeballs?

What is the meaning of word 'crack' in chapter 33 of A Game of Thrones?

Aesthetic proofs that involve Field Theory / Galois Theory

My manager quit. Should I agree to defer wage increase to accommodate budget concerns?

Examples of "unsuccessful" theories with afterlives

What should I consider when deciding whether to delay an exam?

Best way to visualize huge amount of data

Why does C++ have 'Undefined Behaviour' and other languages like C# or Java don't?

Is it acceptable to say that a reviewer's concern is not going to be addressed because then the paper would be too long?

OSM Thunderforest API keys in QGIS3

Why does (inf + 0j)*1 evaluate to inf + nanj?

Carry vs Roll-Down on a zero-coupon IRS

A file manager to open a zip file like opening a folder, instead of extract it by using a archive manager

Is it a good idea to leave minor world details to the reader's imagination?

practicality of 30 year fix mortgage at 55 years of age

Is there something that can completely prevent the effects of the Hold Person spell?

Error Message when nothing should be evaluated



Sort by contiguous digits as a single number


Sort by regular expressionsTrying to sort on two fields, second then firstsort CSV by number of column in rows?Strange default sort behaviourHow to format floating point number with exactly 2 significant digits in bash?command substitution inside awkvalidate file content with bash Regular Expressions






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















A command outputs this:



file_0
file_1
file_10
file_11
file_12
file_13
file_14
file_15
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9


How can I use awk or some other posix tool to actually sort it by the contiguous digits as a single number:



file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15


In general it should also work in case the digits is inside the file name, e.g.:



file_0.txt
file_1.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt









share|improve this question
























  • it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

    – cas
    1 hour ago

















2















A command outputs this:



file_0
file_1
file_10
file_11
file_12
file_13
file_14
file_15
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9


How can I use awk or some other posix tool to actually sort it by the contiguous digits as a single number:



file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15


In general it should also work in case the digits is inside the file name, e.g.:



file_0.txt
file_1.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt









share|improve this question
























  • it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

    – cas
    1 hour ago













2












2








2








A command outputs this:



file_0
file_1
file_10
file_11
file_12
file_13
file_14
file_15
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9


How can I use awk or some other posix tool to actually sort it by the contiguous digits as a single number:



file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15


In general it should also work in case the digits is inside the file name, e.g.:



file_0.txt
file_1.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt









share|improve this question














A command outputs this:



file_0
file_1
file_10
file_11
file_12
file_13
file_14
file_15
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9


How can I use awk or some other posix tool to actually sort it by the contiguous digits as a single number:



file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15


In general it should also work in case the digits is inside the file name, e.g.:



file_0.txt
file_1.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt






awk sed sort






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 8 hours ago









jsbjsb

235 bronze badges




235 bronze badges















  • it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

    – cas
    1 hour ago

















  • it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

    – cas
    1 hour ago
















it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

– cas
1 hour ago





it's not in posix sort but both GNU and FreeBSD's sort support the -V or --version-sort option, which is a "natural sort" of numbers embedded within text.

– cas
1 hour ago










3 Answers
3






active

oldest

votes


















3
















sort -nt '_' -k2 


Output:



file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15


or:



file_0.txt
file_1.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt


Tested with FreeBSD and GNU coreutils implementations of sort but
would not work with busybox implementation. All options used are
specified by
POSIX.






share|improve this answer

























  • I see that option in the man page now! It was not clear at all to me at first.

    – jsb
    8 hours ago


















2
















Please try this:



output | awk 'print gensub("[^0-9]*","","g") " " $0 ' | sort -n | awk '$1=""; print $0' | sed 's/^ //g'


This isn't the most elegant solution but it works.






share|improve this answer
































    1
















    The answer(one of them, I'm sure) is:



    sort -t _ -k 2 -g [filename with names+numbers or piped from another command with | - both situations will work ]





    share|improve this answer



























      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );














      draft saved

      draft discarded
















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f543019%2fsort-by-contiguous-digits-as-a-single-number%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      3
















      sort -nt '_' -k2 


      Output:



      file_0
      file_1
      file_2
      file_3
      file_4
      file_5
      file_6
      file_7
      file_8
      file_9
      file_10
      file_11
      file_12
      file_13
      file_14
      file_15


      or:



      file_0.txt
      file_1.txt
      file_2.txt
      file_3.txt
      file_4.txt
      file_5.txt
      file_6.txt
      file_7.txt
      file_8.txt
      file_9.txt
      file_10.txt
      file_11.txt
      file_12.txt
      file_13.txt
      file_14.txt
      file_15.txt


      Tested with FreeBSD and GNU coreutils implementations of sort but
      would not work with busybox implementation. All options used are
      specified by
      POSIX.






      share|improve this answer

























      • I see that option in the man page now! It was not clear at all to me at first.

        – jsb
        8 hours ago















      3
















      sort -nt '_' -k2 


      Output:



      file_0
      file_1
      file_2
      file_3
      file_4
      file_5
      file_6
      file_7
      file_8
      file_9
      file_10
      file_11
      file_12
      file_13
      file_14
      file_15


      or:



      file_0.txt
      file_1.txt
      file_2.txt
      file_3.txt
      file_4.txt
      file_5.txt
      file_6.txt
      file_7.txt
      file_8.txt
      file_9.txt
      file_10.txt
      file_11.txt
      file_12.txt
      file_13.txt
      file_14.txt
      file_15.txt


      Tested with FreeBSD and GNU coreutils implementations of sort but
      would not work with busybox implementation. All options used are
      specified by
      POSIX.






      share|improve this answer

























      • I see that option in the man page now! It was not clear at all to me at first.

        – jsb
        8 hours ago













      3














      3










      3









      sort -nt '_' -k2 


      Output:



      file_0
      file_1
      file_2
      file_3
      file_4
      file_5
      file_6
      file_7
      file_8
      file_9
      file_10
      file_11
      file_12
      file_13
      file_14
      file_15


      or:



      file_0.txt
      file_1.txt
      file_2.txt
      file_3.txt
      file_4.txt
      file_5.txt
      file_6.txt
      file_7.txt
      file_8.txt
      file_9.txt
      file_10.txt
      file_11.txt
      file_12.txt
      file_13.txt
      file_14.txt
      file_15.txt


      Tested with FreeBSD and GNU coreutils implementations of sort but
      would not work with busybox implementation. All options used are
      specified by
      POSIX.






      share|improve this answer













      sort -nt '_' -k2 


      Output:



      file_0
      file_1
      file_2
      file_3
      file_4
      file_5
      file_6
      file_7
      file_8
      file_9
      file_10
      file_11
      file_12
      file_13
      file_14
      file_15


      or:



      file_0.txt
      file_1.txt
      file_2.txt
      file_3.txt
      file_4.txt
      file_5.txt
      file_6.txt
      file_7.txt
      file_8.txt
      file_9.txt
      file_10.txt
      file_11.txt
      file_12.txt
      file_13.txt
      file_14.txt
      file_15.txt


      Tested with FreeBSD and GNU coreutils implementations of sort but
      would not work with busybox implementation. All options used are
      specified by
      POSIX.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered 8 hours ago









      Arkadiusz DrabczykArkadiusz Drabczyk

      9,6963 gold badges20 silver badges36 bronze badges




      9,6963 gold badges20 silver badges36 bronze badges















      • I see that option in the man page now! It was not clear at all to me at first.

        – jsb
        8 hours ago

















      • I see that option in the man page now! It was not clear at all to me at first.

        – jsb
        8 hours ago
















      I see that option in the man page now! It was not clear at all to me at first.

      – jsb
      8 hours ago





      I see that option in the man page now! It was not clear at all to me at first.

      – jsb
      8 hours ago













      2
















      Please try this:



      output | awk 'print gensub("[^0-9]*","","g") " " $0 ' | sort -n | awk '$1=""; print $0' | sed 's/^ //g'


      This isn't the most elegant solution but it works.






      share|improve this answer





























        2
















        Please try this:



        output | awk 'print gensub("[^0-9]*","","g") " " $0 ' | sort -n | awk '$1=""; print $0' | sed 's/^ //g'


        This isn't the most elegant solution but it works.






        share|improve this answer



























          2














          2










          2









          Please try this:



          output | awk 'print gensub("[^0-9]*","","g") " " $0 ' | sort -n | awk '$1=""; print $0' | sed 's/^ //g'


          This isn't the most elegant solution but it works.






          share|improve this answer













          Please try this:



          output | awk 'print gensub("[^0-9]*","","g") " " $0 ' | sort -n | awk '$1=""; print $0' | sed 's/^ //g'


          This isn't the most elegant solution but it works.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 8 hours ago









          Ned64Ned64

          3,8611 gold badge18 silver badges45 bronze badges




          3,8611 gold badge18 silver badges45 bronze badges
























              1
















              The answer(one of them, I'm sure) is:



              sort -t _ -k 2 -g [filename with names+numbers or piped from another command with | - both situations will work ]





              share|improve this answer





























                1
















                The answer(one of them, I'm sure) is:



                sort -t _ -k 2 -g [filename with names+numbers or piped from another command with | - both situations will work ]





                share|improve this answer



























                  1














                  1










                  1









                  The answer(one of them, I'm sure) is:



                  sort -t _ -k 2 -g [filename with names+numbers or piped from another command with | - both situations will work ]





                  share|improve this answer













                  The answer(one of them, I'm sure) is:



                  sort -t _ -k 2 -g [filename with names+numbers or piped from another command with | - both situations will work ]






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 8 hours ago









                  BarBar1234BarBar1234

                  2811 silver badge6 bronze badges




                  2811 silver badge6 bronze badges































                      draft saved

                      draft discarded















































                      Thanks for contributing an answer to Unix & Linux Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f543019%2fsort-by-contiguous-digits-as-a-single-number%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                      Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                      Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її