diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-17 17:38:45 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-17 17:38:45 +1200 |
commit | 67afb66eb1a2e7a1f7c912bdeec002de7b25d91d (patch) | |
tree | 0701c5da159452f229eb50a8b1f99387b31a01fe /sh/shrc.d/hgrep.sh | |
parent | Only pull if rebase possible (diff) | |
download | dotfiles-67afb66eb1a2e7a1f7c912bdeec002de7b25d91d.tar.gz dotfiles-67afb66eb1a2e7a1f7c912bdeec002de7b25d91d.zip |
Move simple Bash/pdksh functions into POSIX sh
Have only translated the scripts that translate readily into POSIX sh
for now. More complex stuff like that bd/pd/sd/ud navigation for Bash
doesn't port as easily, mostly because there isn't an analogue for the
"local" keyword in POSIX.
Diffstat (limited to 'sh/shrc.d/hgrep.sh')
-rw-r--r-- | sh/shrc.d/hgrep.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sh/shrc.d/hgrep.sh b/sh/shrc.d/hgrep.sh new file mode 100644 index 00000000..b6143b37 --- /dev/null +++ b/sh/shrc.d/hgrep.sh @@ -0,0 +1,16 @@ +# Search shell history file for a pattern. If you put your whole HISTFILE +# contents into memory, then you probably don't need this, as you can just do: +# +# $ history | grep PATTERN +# +hgrep() { + if [ "$#" -eq 0 ] ; then + printf >&2 'hgrep: Need a pattern\n' + exit 2 + fi + if ! [ -n "$HISTFILE" ] ; then + printf >&2 'hgrep: No HISTFILE\n' + exit 2 + fi + grep "$@" "$HISTFILE" +} |