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;
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
add a comment |
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
add a comment |
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
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
linux text-processing replace tr
edited Mar 30 at 19:59
Rui F Ribeiro
42k1483142
42k1483142
asked Mar 30 at 13:15
user652437user652437
391
391
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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:]' '[#*]'
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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:]' '[#*]'
add a comment |
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:]' '[#*]'
add a comment |
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:]' '[#*]'
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:]' '[#*]'
edited Mar 30 at 20:37
Stéphane Chazelas
314k57594952
314k57594952
answered Mar 30 at 13:19
Jesse_bJesse_b
14.4k33574
14.4k33574
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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