Is it possible to replace duplicates of a character with one character using tr The 2019 Stack Overflow Developer Survey Results Are In Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar Manara 2019 Community Moderator Election ResultsHow to replace the content of specific column with awk? Tab Delimited FileReplace a string with “string|string”using sed with ampersand (&)Read Text File; Copy Non-Indented Text Line; Replace Beginning of Indented Lines with Said TextReplace matching parentheses with enclosing contentHow to replace all occurrences in a file with unique value for each occurrenceSearch replace in XML file with sed or awkFind and replace with awkSharing Linux character devices with the virtual guests (virtual machines/containers)How can I replace the space character in SVN dump branches name?

Define a list range inside a list

What force causes entropy to increase?

Is it ok to offer lower paid work as a trial period before negotiating for a full-time job?

number sequence puzzle deep six

Why can I use a list index as an indexing variable in a for loop?

Does Parliament need to approve the new Brexit delay to 31 October 2019?

Why can't devices on different VLANs, but on the same subnet, communicate?

Why don't hard Brexiteers insist on a hard border to prevent illegal immigration after Brexit?

Was credit for the black hole image misappropriated?

Circular reasoning in L'Hopital's rule

Is this wall load bearing? Blueprints and photos attached

Make it rain characters

What can I do if neighbor is blocking my solar panels intentionally?

Is 'stolen' appropriate word?

Deal with toxic manager when you can't quit

What options are there, if any, to get information from an enemy's familiar?

How to handle characters who are more educated than the author?

Ubuntu Err :18 http://dl.google.com/linux/chrome/deb stable Release.gpg KEYEXPIRED 1555048520

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

Match Roman Numerals

How to substitute curly brackets with round brackets in a grid of list

The following signatures were invalid: EXPKEYSIG 1397BC53640DB551

Single author papers against my advisor's will?

One Dimensional Japanese Puzzle



Is it possible to replace duplicates of a character with one character using tr



The 2019 Stack Overflow Developer Survey Results Are In
Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manara
2019 Community Moderator Election ResultsHow to replace the content of specific column with awk? Tab Delimited FileReplace a string with “string|string”using sed with ampersand (&)Read Text File; Copy Non-Indented Text Line; Replace Beginning of Indented Lines with Said TextReplace matching parentheses with enclosing contentHow to replace all occurrences in a file with unique value for each occurrenceSearch replace in XML file with sed or awkFind and replace with awkSharing Linux character devices with the virtual guests (virtual machines/containers)How can I replace the space character in SVN dump branches name?



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








7















I'm trying to take all occurrences of # and if they are consecutive replace them with just one #.



e.g.



 ab ### cde fghi## jklm


would become:



ab # cde, fghi# jklm


My initial goal was to replace all consecutive digits with # so; 120 -> # and 3->#. However I found that 120->###. So now I'm left with this new problem.










share|improve this question






























    7















    I'm trying to take all occurrences of # and if they are consecutive replace them with just one #.



    e.g.



     ab ### cde fghi## jklm


    would become:



    ab # cde, fghi# jklm


    My initial goal was to replace all consecutive digits with # so; 120 -> # and 3->#. However I found that 120->###. So now I'm left with this new problem.










    share|improve this question


























      7












      7








      7








      I'm trying to take all occurrences of # and if they are consecutive replace them with just one #.



      e.g.



       ab ### cde fghi## jklm


      would become:



      ab # cde, fghi# jklm


      My initial goal was to replace all consecutive digits with # so; 120 -> # and 3->#. However I found that 120->###. So now I'm left with this new problem.










      share|improve this question
















      I'm trying to take all occurrences of # and if they are consecutive replace them with just one #.



      e.g.



       ab ### cde fghi## jklm


      would become:



      ab # cde, fghi# jklm


      My initial goal was to replace all consecutive digits with # so; 120 -> # and 3->#. However I found that 120->###. So now I'm left with this new problem.







      linux text-processing replace tr






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 30 at 19:59









      Rui F Ribeiro

      42k1483142




      42k1483142










      asked Mar 30 at 13:15









      user652437user652437

      391




      391




















          1 Answer
          1






          active

          oldest

          votes


















          21














          Using tr -s:



          $ echo 'ab ### cde fghi## jklm' | tr -s '#'
          ab # cde fghi# jklm




          -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.
          This occurs after all deletion and translation is completed.





          Your original problem could have been solved with:



          sed -E 's/[0-9]+/#/g'


          Or POSIXly:



          sed 's/[[:digit:]]1,/#/g'


          Or:



          tr -s '[:digit:]' '[#*]'





          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%2f509583%2fis-it-possible-to-replace-duplicates-of-a-character-with-one-character-using-tr%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            21














            Using tr -s:



            $ echo 'ab ### cde fghi## jklm' | tr -s '#'
            ab # cde fghi# jklm




            -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.
            This occurs after all deletion and translation is completed.





            Your original problem could have been solved with:



            sed -E 's/[0-9]+/#/g'


            Or POSIXly:



            sed 's/[[:digit:]]1,/#/g'


            Or:



            tr -s '[:digit:]' '[#*]'





            share|improve this answer





























              21














              Using tr -s:



              $ echo 'ab ### cde fghi## jklm' | tr -s '#'
              ab # cde fghi# jklm




              -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.
              This occurs after all deletion and translation is completed.





              Your original problem could have been solved with:



              sed -E 's/[0-9]+/#/g'


              Or POSIXly:



              sed 's/[[:digit:]]1,/#/g'


              Or:



              tr -s '[:digit:]' '[#*]'





              share|improve this answer



























                21












                21








                21







                Using tr -s:



                $ echo 'ab ### cde fghi## jklm' | tr -s '#'
                ab # cde fghi# jklm




                -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.
                This occurs after all deletion and translation is completed.





                Your original problem could have been solved with:



                sed -E 's/[0-9]+/#/g'


                Or POSIXly:



                sed 's/[[:digit:]]1,/#/g'


                Or:



                tr -s '[:digit:]' '[#*]'





                share|improve this answer















                Using tr -s:



                $ echo 'ab ### cde fghi## jklm' | tr -s '#'
                ab # cde fghi# jklm




                -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.
                This occurs after all deletion and translation is completed.





                Your original problem could have been solved with:



                sed -E 's/[0-9]+/#/g'


                Or POSIXly:



                sed 's/[[:digit:]]1,/#/g'


                Or:



                tr -s '[:digit:]' '[#*]'






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 30 at 20:37









                Stéphane Chazelas

                314k57594952




                314k57594952










                answered Mar 30 at 13:19









                Jesse_bJesse_b

                14.4k33574




                14.4k33574



























                    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%2f509583%2fis-it-possible-to-replace-duplicates-of-a-character-with-one-character-using-tr%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

                    Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

                    Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

                    Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High