aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPhilip Wittamore <philip@wittamore.com>2025-05-17 09:33:51 +0200
committerPhilip Wittamore <philip@wittamore.com>2025-05-17 09:33:51 +0200
commit61981cc59250824dba6ad005fa0d1e882ab9bc7a (patch)
treeaf4d0dbbf4919e6ad208cee7e5df3803e60149c9 /README.md
parent3bccc7274aa5db9b4457dfd4cb8ae31b386a062f (diff)
downloadbashlib-61981cc59250824dba6ad005fa0d1e882ab9bc7a.tar.gz
bashlib-61981cc59250824dba6ad005fa0d1e882ab9bc7a.tar.bz2
bashlib-61981cc59250824dba6ad005fa0d1e882ab9bc7a.zip
update
Diffstat (limited to 'README.md')
-rw-r--r--README.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/README.md b/README.md
index cce6d81..b99b128 100644
--- a/README.md
+++ b/README.md
@@ -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}` |