Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to remove duplicate characters when combining two strings in shell script

I have 2 strings and I want to combine them and remove duplicates.

Example:

str1=/home/username
str2=/home/username/project
str3=$str1+$str2

Result:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

echo $str3
>> /home/username/project

How do i provided it like str3?

>Solution :

There is no built-in facility for this. If you know that str2 may or may not contain str1 as a prefix, you can exclude it with a parameter expansion:

str3=$str1${str2#"$str1"}

The quotes are necessary to guard against shell metacharacters in the pattern; for example, ${foo#*} removes everything from foo whereas ${foo#"*"} only removes a literal asterisk if present.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading