docs: update

This commit is contained in:
Dylan Araps 2019-09-19 10:58:29 +03:00
parent 397c518833
commit 9f55c1edcd

View file

@ -10,6 +10,7 @@ A collection of pure POSIX `sh` alternatives to external processes
* [STRINGS](#strings)
* [Strip pattern from start of string](#strip-pattern-from-start-of-string)
* [Strip pattern from end of string](#strip-pattern-from-end-of-string)
* [Trim all white-space from string and truncate spaces](#trim-all-white-space-from-string-and-truncate-spaces)
<!-- vim-markdown-toc -->
@ -51,3 +52,33 @@ rstrip() {
$ rstrip "The Quick Brown Fox" " Fox"
The Quick Brown
```
## Trim all white-space from string and truncate spaces
This is an alternative to `sed`, `awk`, `perl` and other tools. The
function below works by abusing word splitting to create a new string
without leading/trailing white-space and with truncated spaces.
**Example Function:**
```sh
# shellcheck disable=SC2086,SC2048
trim_all() {
# Usage: trim_all " example string "
set -f
set -- $*
printf '%s\n' "$*"
set +f
}
```
**Example Usage:**
```shell
$ trim_all " Hello, World "
Hello, World
$ name=" John Black is my name. "
$ trim_all "$name"
John Black is my name.
```