Method 1)
Method 2)
Both will give you the correct length of 16.
Say the variable test contains the string "corndog" but we want just the "dog" part.
echo ${test:4:3} will return just "dog"
The 4 tells us the index of the char that will be the first char in the substring. The 3 tells us how many letters to add starting at the index.
Strips shortest match of $substring from front of $string.
For example if $string contained "This is a string" and we replaced substring with T* an echo would result in his is a string
Strips longest match of $substring from front of $string.
For example if $string contained "This is a string" and we replaced substring with T* an echo would result in an empty string. (The longest match was the entire string).
Strips shortest match of $substring from back of $string.
For example if $string contained "This is a string" and we replaced substring with s* an echo would result in This is a
Strips longest match of $substring from back of $string.
For example if $string contained "This is a string" and we replaced substring with s* an echo would result in Thi (The longest match)
If we did:
then bash would be looking for a variable called string1string2 (which does not exist). This is why the curly brackets are necessary.
Another Example:
Will return Cat Cut Cot
Another example of where this could be useful:
This will create a cat , dog and rabbit dir in ~/test/
No page links to ManipulatingStrings.