aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/%HOME%/.bash_utils
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2016-11-22 03:30:34 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2016-11-22 03:30:34 +0300
commitd6b210f044b5ad6866170bdb77d5702c5db1b76a (patch)
tree75b359e18e728fdedc6f65b01d43dda7749c50f3 /%HOME%/.bash_utils
parentrefactoring (diff)
downloadlinux-home-d6b210f044b5ad6866170bdb77d5702c5db1b76a.tar.gz
linux-home-d6b210f044b5ad6866170bdb77d5702c5db1b76a.zip
add str_invert_match
Diffstat (limited to '%HOME%/.bash_utils')
-rw-r--r--%HOME%/.bash_utils/text.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/%HOME%/.bash_utils/text.sh b/%HOME%/.bash_utils/text.sh
index 88118f9..144bc2c 100644
--- a/%HOME%/.bash_utils/text.sh
+++ b/%HOME%/.bash_utils/text.sh
@@ -184,3 +184,21 @@ str_join() (
;;
esac
)
+
+str_invert_match() (
+ set -o errexit -o nounset -o pipefail
+
+ local -a pattern_list=()
+
+ local pattern
+ for pattern; do
+ pattern_list+=('-e' "$pattern")
+ done
+
+ if [ "${#pattern_list[@]}" -eq 0 ]; then
+ cat
+ else
+ grep --fixed-strings --invert-match \
+ ${pattern_list[@]+"${pattern_list[@]}"}
+ fi
+)