You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.1 KiB

#!/bin/sh
##
## lesspipe -- input filter for less(1)
## To use: ``export LESSOPEN="|lesspipe %s"''
##
file="$1"
base="$file"
filter=""
while [ 1 ]; do
ext=`expr "$base" : '.*\.\([^.]*\)$'`
base=`expr "$base" : '\(.*\)\.[^.]*$'`
case $ext in
gz|z|Z )
filter="$filter | gzip -d -c"
;;
bz2 )
filter="$filter | bzip2 -d -c"
;;
[1-9n]|man )
case `uname -s` in
FreeBSD) macro='mandoc' ;; # detects man(7) and mdoc(7)
* ) macro='man' ;; # only man(7)
esac
filter="$filter | nroff -$macro"
break
;;
tar )
filter="$filter | tar tvf -"
break
;;
cpio )
filter="$filter | cpio -it"
break
;;
rpm )
filter="$filter | @l_prefix@/bin/openpkg rpm -qpilv --scripts -- -"
break
;;
* )
break
;;
esac
done
if [ ".$filter" != . ]; then
echo "[LESS INPUT FILTER APPLIED: \"$filter\"]"
fi
eval "cat \"$file\" $filter"