Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

String Operations in Shell Scripting

This tutorial provides a comprehensive guide to performing string operations in shell scripts. Strings are an essential part of shell scripting, and understanding how to manipulate them is crucial for efficient script writing.

1. Concatenation

String concatenation in shell scripting is straightforward. You can concatenate strings using the following syntax:

string1="Hello"
string2="World"
combined="$string1 $string2"
echo $combined # Outputs: Hello World

2. String Length

To get the length of a string, use the ${#string} syntax:

string="Hello World"
length=${#string}
echo $length # Outputs: 11

3. Substring Extraction

You can extract a substring from a string using the ${string:position:length} syntax:

string="Hello World"
substring=${string:6:5}
echo $substring # Outputs: World

4. String Replacement

To replace a substring within a string, use the ${string/substring/replacement} syntax:

string="Hello World"
new_string=${string/World/Universe}
echo $new_string # Outputs: Hello Universe

To replace all occurrences of the substring, use the ${string//substring/replacement} syntax:

string="banana"
new_string=${string//a/o}
echo $new_string # Outputs: bonono

5. String Comparison

String comparison can be done using conditional statements:

string1="Hello"
string2="World"
if [ "$string1" == "$string2" ]; then
    echo "Strings are equal"
else
    echo "Strings are not equal"
fi # Outputs: Strings are not equal

6. String Containment

To check if a string contains a substring, use the following syntax:

string="Hello World"
substring="World"
if [[ "$string" == *"$substring"* ]]; then
    echo "String contains substring"
else
    echo "String does not contain substring"
fi # Outputs: String contains substring

7. Removing Substrings

You can remove a substring from a string using the following syntax:

string="Hello World"
new_string=${string/World/}
echo $new_string # Outputs: Hello

To remove all occurrences of the substring, use the following syntax:

string="Hello World World"
new_string=${string//World/}
echo $new_string # Outputs: Hello

8. Case Conversion

To convert a string to uppercase or lowercase, you can use tr command:

string="Hello World"
uppercase=$(echo $string | tr '[:lower:]' '[:upper:]')
echo $uppercase # Outputs: HELLO WORLD
lowercase=$(echo $string | tr '[:upper:]' '[:lower:]')
echo $lowercase # Outputs: hello world

9. Splitting Strings

You can split a string into an array using the IFS (Internal Field Separator) variable:

string="apple,banana,cherry"
IFS=','
read -ra fruits <<< "$string"
for fruit in "${fruits[@]}"; do
    echo $fruit
done # Outputs: apple banana cherry

10. Conclusion

In this tutorial, you learned various string operations in shell scripting, including concatenation, length, substring extraction, replacement, comparison, containment, removal, case conversion, and splitting. These operations are essential for handling and manipulating strings efficiently in your shell scripts.