Removal | |
---|---|
Delete shortest match of needle from front of haystack |
${haystack#needle} |
Delete longest match of needle from front of haystack |
${haystack##needle} |
Delete shortest match of needle from back of haystack |
${haystack%needle} |
Delete longest match of needle from back of haystack |
${haystack%%needle} |
Replacement | |
Replace first match of needle with replacement from haystack |
${haystack/needle/replacement} |
Replace all matches of needle with replacement from haystack |
${haystack//needle/replacement} |
If needle matches front of haystack replace with replacement |
${haystack/#needle/replacement} |
If needle matches back of haystack replace with replacement |
${haystack/%needle/replacement} |
Substitution | |
If variable not set, return value , else variable |
${variable-value} ${variable=value} |
If variable not set or empty, return value , else variable |
${variable:-value} ${variable:=value} |
If variable set, return value , else null string |
${variable+value} |
If variable set and not empty, return value , else null string |
${variable:+value} |
If variable set, use it, else print err_msg and exit 1 |
${variable?err_msg} |
If variable set and not empty, use it, else print err_msg and exit 1 |
${variable:?err_msg} |
Extraction | |
Extract length characters from variable starting at position |
${variable:position:length} |
Extract substring characters from variable starting at position ending at the end of string |
${variable:position} |
String length of variable |
${#variable} |
Replacement | |
First match of Pattern , within var replaced with Replacement . |
${var/Pattern/Replacement} |
All matches of Pattern , within var replaced with Replacement . |
${var//Pattern/Replacement} |
If prefix of var matches Pattern , then substitute Replacement for Pattern . |
${var/#Pattern/Replacement} |
If suffix of var matches Pattern , then substitute Replacement for Pattern . |
${var/%Pattern/Replacement} |
Indirect reference | |
Matches names of all previously declared variables beginning with varprefix . |
${!varprefix*} ${!varprefix@} |
-
-
Save Wasapl/adfa376676bdf5f82cd3945cf39301ea to your computer and use it in GitHub Desktop.
Bash string manipulation cheatsheet.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment