How to sort by odd lines then remove repeated values?












2















I have the following type of file:



transcr_25793 +
YAL039C -
transcr_25793 +
YAL037C-B -
transcr_20649 +
YBL100C -
transcr_7135 +
YBL029C-A -
transcr_11317 +
YBL067C -
transcr_25793 +
YAL038W +
transcr_7135 +
YBL029W +


I was trying to get something like this:



transcr_7135 +
YBL029C-A -
transcr_7135 +
YBL029W +
transcr_11317 +
YBL067C -
transcr_20649 +
YBL100C -
transcr_25793 +
YAL039C -
transcr_25793 +
YAL037C-B -
transcr_25793 +
YAL038W +


Then, afterward, I was looking for something like this:



transcr_7135 +
YBL029C-A -
YBL029W +
transcr_11317 +
YBL067C -
transcr_20649 +
YBL100C -
transcr_25793 +
YAL039C -
YAL037C-B -
YAL038W +


Could someone help me? I've scrolled through sort manual and some posts, but couldn't find anything that fit near this, just sort using numerical values to get odd lines...



Thanks a ton in advance!










share|improve this question



























    2















    I have the following type of file:



    transcr_25793 +
    YAL039C -
    transcr_25793 +
    YAL037C-B -
    transcr_20649 +
    YBL100C -
    transcr_7135 +
    YBL029C-A -
    transcr_11317 +
    YBL067C -
    transcr_25793 +
    YAL038W +
    transcr_7135 +
    YBL029W +


    I was trying to get something like this:



    transcr_7135 +
    YBL029C-A -
    transcr_7135 +
    YBL029W +
    transcr_11317 +
    YBL067C -
    transcr_20649 +
    YBL100C -
    transcr_25793 +
    YAL039C -
    transcr_25793 +
    YAL037C-B -
    transcr_25793 +
    YAL038W +


    Then, afterward, I was looking for something like this:



    transcr_7135 +
    YBL029C-A -
    YBL029W +
    transcr_11317 +
    YBL067C -
    transcr_20649 +
    YBL100C -
    transcr_25793 +
    YAL039C -
    YAL037C-B -
    YAL038W +


    Could someone help me? I've scrolled through sort manual and some posts, but couldn't find anything that fit near this, just sort using numerical values to get odd lines...



    Thanks a ton in advance!










    share|improve this question

























      2












      2








      2


      1






      I have the following type of file:



      transcr_25793 +
      YAL039C -
      transcr_25793 +
      YAL037C-B -
      transcr_20649 +
      YBL100C -
      transcr_7135 +
      YBL029C-A -
      transcr_11317 +
      YBL067C -
      transcr_25793 +
      YAL038W +
      transcr_7135 +
      YBL029W +


      I was trying to get something like this:



      transcr_7135 +
      YBL029C-A -
      transcr_7135 +
      YBL029W +
      transcr_11317 +
      YBL067C -
      transcr_20649 +
      YBL100C -
      transcr_25793 +
      YAL039C -
      transcr_25793 +
      YAL037C-B -
      transcr_25793 +
      YAL038W +


      Then, afterward, I was looking for something like this:



      transcr_7135 +
      YBL029C-A -
      YBL029W +
      transcr_11317 +
      YBL067C -
      transcr_20649 +
      YBL100C -
      transcr_25793 +
      YAL039C -
      YAL037C-B -
      YAL038W +


      Could someone help me? I've scrolled through sort manual and some posts, but couldn't find anything that fit near this, just sort using numerical values to get odd lines...



      Thanks a ton in advance!










      share|improve this question














      I have the following type of file:



      transcr_25793 +
      YAL039C -
      transcr_25793 +
      YAL037C-B -
      transcr_20649 +
      YBL100C -
      transcr_7135 +
      YBL029C-A -
      transcr_11317 +
      YBL067C -
      transcr_25793 +
      YAL038W +
      transcr_7135 +
      YBL029W +


      I was trying to get something like this:



      transcr_7135 +
      YBL029C-A -
      transcr_7135 +
      YBL029W +
      transcr_11317 +
      YBL067C -
      transcr_20649 +
      YBL100C -
      transcr_25793 +
      YAL039C -
      transcr_25793 +
      YAL037C-B -
      transcr_25793 +
      YAL038W +


      Then, afterward, I was looking for something like this:



      transcr_7135 +
      YBL029C-A -
      YBL029W +
      transcr_11317 +
      YBL067C -
      transcr_20649 +
      YBL100C -
      transcr_25793 +
      YAL039C -
      YAL037C-B -
      YAL038W +


      Could someone help me? I've scrolled through sort manual and some posts, but couldn't find anything that fit near this, just sort using numerical values to get odd lines...



      Thanks a ton in advance!







      text-processing sort






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      Lucas Farinazzo MarquesLucas Farinazzo Marques

      445




      445






















          4 Answers
          4






          active

          oldest

          votes


















          2














          Not exactly the sorting order you've showed, but maby right as well?



          $ cat input.txt|paste - -| sort -k1,1V -k2,2| tr "t" "n" | awk '{if($0 in line == 0) {line[$0]; print}}'
          transcr_7135 +
          YBL029C-A -
          YBL029W +
          transcr_11317 +
          YBL067C -
          transcr_20649 +
          YBL100C -
          transcr_25793 +
          YAL037C-B -
          YAL038W +
          YAL039C -





          share|improve this answer
























          • It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

            – Lucas Farinazzo Marques
            34 mins ago



















          2














          Pure gawk solution:



          awk -F_ '/transcr/{i=$2} /^Y/{a[i]=a[i]"n"$0} 
          END{PROCINFO["sorted_in"]="@ind_num_asc";
          for(i in a) printf "%s","transcr_"i""a[i]"n"}' file


          The trick is to sort indexes of array a numerically with a little help of gawk's PROCINFO special array.



          transcr_7135
          YBL029C-A -
          YBL029W +
          transcr_11317
          YBL067C -
          transcr_20649
          YBL100C -
          transcr_25793
          YAL039C -
          YAL037C-B -
          YAL038W +





          share|improve this answer

































            2














            for element in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
            do
            echo $element; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
            done


            Where a.txt is your input. Tested:



            [root@megatron ~]# cat a.txt
            transcr_25793 +
            YAL039C -
            transcr_25793 +
            YAL037C-B -
            transcr_20649 +
            YBL100C -
            transcr_7135 +
            YBL029C-A -
            transcr_11317 +
            YBL067C -
            transcr_25793 +
            YAL038W +
            transcr_7135 +
            YBL029W +
            [root@megatron ~]# for i in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
            do
            echo $i; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
            done
            transcr_7135
            YBL029C-A -
            YBL029W +
            transcr_11317
            YBL067C -
            transcr_20649
            YBL100C -
            transcr_25793
            YAL039C -
            YAL037C-B -
            YAL038W +
            [root@megatron ~]#





            share|improve this answer


























            • It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

              – Lucas Farinazzo Marques
              49 mins ago











            • I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

              – Zatarra
              48 mins ago













            • Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

              – Lucas Farinazzo Marques
              41 mins ago











            • You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

              – Zatarra
              37 mins ago













            • Now it worked, thanks!

              – Lucas Farinazzo Marques
              21 mins ago



















            1














            With GNU sort and assuming the lines don't contain TAB characters:



            paste - - < file | sort -V | tr 't' 'n' | awk '!seen[$0]++'


            If you don't have GNU sort, and assuming the odd lines always follow that pattern, you can replace sort -V with sort -k1.9n.






            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/3.0/"u003ecc by-sa 3.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%2f495272%2fhow-to-sort-by-odd-lines-then-remove-repeated-values%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              4 Answers
              4






              active

              oldest

              votes








              4 Answers
              4






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              Not exactly the sorting order you've showed, but maby right as well?



              $ cat input.txt|paste - -| sort -k1,1V -k2,2| tr "t" "n" | awk '{if($0 in line == 0) {line[$0]; print}}'
              transcr_7135 +
              YBL029C-A -
              YBL029W +
              transcr_11317 +
              YBL067C -
              transcr_20649 +
              YBL100C -
              transcr_25793 +
              YAL037C-B -
              YAL038W +
              YAL039C -





              share|improve this answer
























              • It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

                – Lucas Farinazzo Marques
                34 mins ago
















              2














              Not exactly the sorting order you've showed, but maby right as well?



              $ cat input.txt|paste - -| sort -k1,1V -k2,2| tr "t" "n" | awk '{if($0 in line == 0) {line[$0]; print}}'
              transcr_7135 +
              YBL029C-A -
              YBL029W +
              transcr_11317 +
              YBL067C -
              transcr_20649 +
              YBL100C -
              transcr_25793 +
              YAL037C-B -
              YAL038W +
              YAL039C -





              share|improve this answer
























              • It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

                – Lucas Farinazzo Marques
                34 mins ago














              2












              2








              2







              Not exactly the sorting order you've showed, but maby right as well?



              $ cat input.txt|paste - -| sort -k1,1V -k2,2| tr "t" "n" | awk '{if($0 in line == 0) {line[$0]; print}}'
              transcr_7135 +
              YBL029C-A -
              YBL029W +
              transcr_11317 +
              YBL067C -
              transcr_20649 +
              YBL100C -
              transcr_25793 +
              YAL037C-B -
              YAL038W +
              YAL039C -





              share|improve this answer













              Not exactly the sorting order you've showed, but maby right as well?



              $ cat input.txt|paste - -| sort -k1,1V -k2,2| tr "t" "n" | awk '{if($0 in line == 0) {line[$0]; print}}'
              transcr_7135 +
              YBL029C-A -
              YBL029W +
              transcr_11317 +
              YBL067C -
              transcr_20649 +
              YBL100C -
              transcr_25793 +
              YAL037C-B -
              YAL038W +
              YAL039C -






              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered 41 mins ago









              finswimmerfinswimmer

              1662




              1662













              • It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

                – Lucas Farinazzo Marques
                34 mins ago



















              • It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

                – Lucas Farinazzo Marques
                34 mins ago

















              It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

              – Lucas Farinazzo Marques
              34 mins ago





              It doesn't show exactly the way I posted, but for my case it doesn't matter, thanks a lot!

              – Lucas Farinazzo Marques
              34 mins ago













              2














              Pure gawk solution:



              awk -F_ '/transcr/{i=$2} /^Y/{a[i]=a[i]"n"$0} 
              END{PROCINFO["sorted_in"]="@ind_num_asc";
              for(i in a) printf "%s","transcr_"i""a[i]"n"}' file


              The trick is to sort indexes of array a numerically with a little help of gawk's PROCINFO special array.



              transcr_7135
              YBL029C-A -
              YBL029W +
              transcr_11317
              YBL067C -
              transcr_20649
              YBL100C -
              transcr_25793
              YAL039C -
              YAL037C-B -
              YAL038W +





              share|improve this answer






























                2














                Pure gawk solution:



                awk -F_ '/transcr/{i=$2} /^Y/{a[i]=a[i]"n"$0} 
                END{PROCINFO["sorted_in"]="@ind_num_asc";
                for(i in a) printf "%s","transcr_"i""a[i]"n"}' file


                The trick is to sort indexes of array a numerically with a little help of gawk's PROCINFO special array.



                transcr_7135
                YBL029C-A -
                YBL029W +
                transcr_11317
                YBL067C -
                transcr_20649
                YBL100C -
                transcr_25793
                YAL039C -
                YAL037C-B -
                YAL038W +





                share|improve this answer




























                  2












                  2








                  2







                  Pure gawk solution:



                  awk -F_ '/transcr/{i=$2} /^Y/{a[i]=a[i]"n"$0} 
                  END{PROCINFO["sorted_in"]="@ind_num_asc";
                  for(i in a) printf "%s","transcr_"i""a[i]"n"}' file


                  The trick is to sort indexes of array a numerically with a little help of gawk's PROCINFO special array.



                  transcr_7135
                  YBL029C-A -
                  YBL029W +
                  transcr_11317
                  YBL067C -
                  transcr_20649
                  YBL100C -
                  transcr_25793
                  YAL039C -
                  YAL037C-B -
                  YAL038W +





                  share|improve this answer















                  Pure gawk solution:



                  awk -F_ '/transcr/{i=$2} /^Y/{a[i]=a[i]"n"$0} 
                  END{PROCINFO["sorted_in"]="@ind_num_asc";
                  for(i in a) printf "%s","transcr_"i""a[i]"n"}' file


                  The trick is to sort indexes of array a numerically with a little help of gawk's PROCINFO special array.



                  transcr_7135
                  YBL029C-A -
                  YBL029W +
                  transcr_11317
                  YBL067C -
                  transcr_20649
                  YBL100C -
                  transcr_25793
                  YAL039C -
                  YAL037C-B -
                  YAL038W +






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 6 mins ago

























                  answered 25 mins ago









                  jimmijjimmij

                  31k870105




                  31k870105























                      2














                      for element in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $element; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done


                      Where a.txt is your input. Tested:



                      [root@megatron ~]# cat a.txt
                      transcr_25793 +
                      YAL039C -
                      transcr_25793 +
                      YAL037C-B -
                      transcr_20649 +
                      YBL100C -
                      transcr_7135 +
                      YBL029C-A -
                      transcr_11317 +
                      YBL067C -
                      transcr_25793 +
                      YAL038W +
                      transcr_7135 +
                      YBL029W +
                      [root@megatron ~]# for i in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $i; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done
                      transcr_7135
                      YBL029C-A -
                      YBL029W +
                      transcr_11317
                      YBL067C -
                      transcr_20649
                      YBL100C -
                      transcr_25793
                      YAL039C -
                      YAL037C-B -
                      YAL038W +
                      [root@megatron ~]#





                      share|improve this answer


























                      • It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                        – Lucas Farinazzo Marques
                        49 mins ago











                      • I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                        – Zatarra
                        48 mins ago













                      • Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                        – Lucas Farinazzo Marques
                        41 mins ago











                      • You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                        – Zatarra
                        37 mins ago













                      • Now it worked, thanks!

                        – Lucas Farinazzo Marques
                        21 mins ago
















                      2














                      for element in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $element; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done


                      Where a.txt is your input. Tested:



                      [root@megatron ~]# cat a.txt
                      transcr_25793 +
                      YAL039C -
                      transcr_25793 +
                      YAL037C-B -
                      transcr_20649 +
                      YBL100C -
                      transcr_7135 +
                      YBL029C-A -
                      transcr_11317 +
                      YBL067C -
                      transcr_25793 +
                      YAL038W +
                      transcr_7135 +
                      YBL029W +
                      [root@megatron ~]# for i in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $i; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done
                      transcr_7135
                      YBL029C-A -
                      YBL029W +
                      transcr_11317
                      YBL067C -
                      transcr_20649
                      YBL100C -
                      transcr_25793
                      YAL039C -
                      YAL037C-B -
                      YAL038W +
                      [root@megatron ~]#





                      share|improve this answer


























                      • It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                        – Lucas Farinazzo Marques
                        49 mins ago











                      • I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                        – Zatarra
                        48 mins ago













                      • Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                        – Lucas Farinazzo Marques
                        41 mins ago











                      • You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                        – Zatarra
                        37 mins ago













                      • Now it worked, thanks!

                        – Lucas Farinazzo Marques
                        21 mins ago














                      2












                      2








                      2







                      for element in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $element; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done


                      Where a.txt is your input. Tested:



                      [root@megatron ~]# cat a.txt
                      transcr_25793 +
                      YAL039C -
                      transcr_25793 +
                      YAL037C-B -
                      transcr_20649 +
                      YBL100C -
                      transcr_7135 +
                      YBL029C-A -
                      transcr_11317 +
                      YBL067C -
                      transcr_25793 +
                      YAL038W +
                      transcr_7135 +
                      YBL029W +
                      [root@megatron ~]# for i in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $i; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done
                      transcr_7135
                      YBL029C-A -
                      YBL029W +
                      transcr_11317
                      YBL067C -
                      transcr_20649
                      YBL100C -
                      transcr_25793
                      YAL039C -
                      YAL037C-B -
                      YAL038W +
                      [root@megatron ~]#





                      share|improve this answer















                      for element in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $element; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done


                      Where a.txt is your input. Tested:



                      [root@megatron ~]# cat a.txt
                      transcr_25793 +
                      YAL039C -
                      transcr_25793 +
                      YAL037C-B -
                      transcr_20649 +
                      YBL100C -
                      transcr_7135 +
                      YBL029C-A -
                      transcr_11317 +
                      YBL067C -
                      transcr_25793 +
                      YAL038W +
                      transcr_7135 +
                      YBL029W +
                      [root@megatron ~]# for i in $(sed -n 'p;n' a.txt |sort -nk 1.9 |uniq |awk '{print $1}')
                      do
                      echo $i; cat a.txt |grep -A1 $i |grep -v trans |grep -v \\--
                      done
                      transcr_7135
                      YBL029C-A -
                      YBL029W +
                      transcr_11317
                      YBL067C -
                      transcr_20649
                      YBL100C -
                      transcr_25793
                      YAL039C -
                      YAL037C-B -
                      YAL038W +
                      [root@megatron ~]#






                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited 2 mins ago









                      andcoz

                      12.5k33039




                      12.5k33039










                      answered 1 hour ago









                      ZatarraZatarra

                      212




                      212













                      • It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                        – Lucas Farinazzo Marques
                        49 mins ago











                      • I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                        – Zatarra
                        48 mins ago













                      • Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                        – Lucas Farinazzo Marques
                        41 mins ago











                      • You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                        – Zatarra
                        37 mins ago













                      • Now it worked, thanks!

                        – Lucas Farinazzo Marques
                        21 mins ago



















                      • It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                        – Lucas Farinazzo Marques
                        49 mins ago











                      • I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                        – Zatarra
                        48 mins ago













                      • Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                        – Lucas Farinazzo Marques
                        41 mins ago











                      • You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                        – Zatarra
                        37 mins ago













                      • Now it worked, thanks!

                        – Lucas Farinazzo Marques
                        21 mins ago

















                      It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                      – Lucas Farinazzo Marques
                      49 mins ago





                      It appeared this transcr_45 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_193 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_231 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. transcr_282 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. and so on... Do you know what I can do?

                      – Lucas Farinazzo Marques
                      49 mins ago













                      I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                      – Zatarra
                      48 mins ago







                      I corrected. You have to use |grep -v \-- . Or just try to re-use the updated code.

                      – Zatarra
                      48 mins ago















                      Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                      – Lucas Farinazzo Marques
                      41 mins ago





                      Even when exactly copying your solution and even the file with the same name, it doesn't work out... It keeps showing the same error

                      – Lucas Farinazzo Marques
                      41 mins ago













                      You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                      – Zatarra
                      37 mins ago







                      You can download it from here: wget 54.38.222.163/sort.sh and run it with sh sort.sh . The text must be in a.txt

                      – Zatarra
                      37 mins ago















                      Now it worked, thanks!

                      – Lucas Farinazzo Marques
                      21 mins ago





                      Now it worked, thanks!

                      – Lucas Farinazzo Marques
                      21 mins ago











                      1














                      With GNU sort and assuming the lines don't contain TAB characters:



                      paste - - < file | sort -V | tr 't' 'n' | awk '!seen[$0]++'


                      If you don't have GNU sort, and assuming the odd lines always follow that pattern, you can replace sort -V with sort -k1.9n.






                      share|improve this answer




























                        1














                        With GNU sort and assuming the lines don't contain TAB characters:



                        paste - - < file | sort -V | tr 't' 'n' | awk '!seen[$0]++'


                        If you don't have GNU sort, and assuming the odd lines always follow that pattern, you can replace sort -V with sort -k1.9n.






                        share|improve this answer


























                          1












                          1








                          1







                          With GNU sort and assuming the lines don't contain TAB characters:



                          paste - - < file | sort -V | tr 't' 'n' | awk '!seen[$0]++'


                          If you don't have GNU sort, and assuming the odd lines always follow that pattern, you can replace sort -V with sort -k1.9n.






                          share|improve this answer













                          With GNU sort and assuming the lines don't contain TAB characters:



                          paste - - < file | sort -V | tr 't' 'n' | awk '!seen[$0]++'


                          If you don't have GNU sort, and assuming the odd lines always follow that pattern, you can replace sort -V with sort -k1.9n.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 38 mins ago









                          Stéphane ChazelasStéphane Chazelas

                          301k55564916




                          301k55564916






























                              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%2f495272%2fhow-to-sort-by-odd-lines-then-remove-repeated-values%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

                              Magento 2 controller redirect on button click in phtml file

                              Polycentropodidae