diff options
-rw-r--r-- | README.md | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -7,29 +7,29 @@ ## Bash string manipulation cheatsheet [https://gist.github.com/magnetikonline/90d6fe30fc247ef110a1](https://gist.github.com/magnetikonline/90d6fe30fc247ef110a1) -| Assignment | | -| --- | --- | +| :--- | :--- | +| **Assignment** | | | Assign `value` to `variable` if `variable` is not already set, `value` is returned. <br> <br>Combine with a `:` no-op to discard/ignore return `value`. | `${variable="value"}` <br>`: ${variable="value"}` | -| Removal | | +| **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 | | +| **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 | | +| **Substitution** | | | If `variable` not set, return `value`, else `variable`. | `${variable-value}` | | If `variable` not set _or_ empty, return `value`, else `variable`. | `${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}` | -| Extraction | | +| **Extraction** | | | Extract `length` characters from `variable` starting at `position`. | `${variable:position:length}` | | Return string length of `variable`. | `${#variable}` | -| Escaping | | +| **Escaping** | | | Single quotes inside a single quoted string. | `echo 'Don'\''t break my escape!'` | -| Indirection | | +| **Indirection** | | | Return value of variable name held in `indirect`, else `value`. | `indirect="apple"` <br>`apple="fruit"` <br>`${!indirect-value}` | |