diff options
| author | Thomas Ulmer <thomasmulmer02@gmail.com> | 2025-12-29 15:02:35 -0800 |
|---|---|---|
| committer | Thomas Ulmer <thomasmulmer02@gmail.com> | 2025-12-29 15:02:35 -0800 |
| commit | 1ddfd22747b7ea304d7e58877b484ff49485f2f8 (patch) | |
| tree | 7b3bb71e304945991a2aae890901ad16cc9d946f /lk.sh | |
| parent | c377f38c23594c7a8a2813a412ef5e49755762e5 (diff) | |
util: small ls+pager util
Diffstat (limited to 'lk.sh')
| -rwxr-xr-x | lk.sh | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -0,0 +1,28 @@ +#!/bin/bash + +# This is helper that should replace a number of common commands +# +# It is intended to be named `lk`, short for "look" + +longView=${PAGER:-$(which less || which more || echo "cat")} +dirView="ls --color=auto -Alh" + +if [ $# -lt 1 ]; then + # take stdin instead + $dirView $(pwd) +fi + +for a in $@; do + if [ $a == "" ]; then + echo "Empty argument skipped" + elif [ ! -e $a ]; then + echo "$a does not exist" 1>&2 + exit -1 + elif [ -d $a ]; then + $dirView $a + elif [ $(tput lines) -ge $(($(wc -l < $a) - 2)) ]; then + cat $a + else + ${longView} $a + fi +done |
