#!/bin/sh # # To use this filter with less, define LESSOPEN: # export LESSOPEN="|/usr/bin/lesspipe.sh %s" lesspipe() { case "$1" in *.1.gz|*.2.gz|*.3.gz|*.4.gz|*.5.gz|*.7.gz|*.8.gz|*.9.gz|*.n.gz|*.man.gz) if gunzip -c "$1" |file - |grep troff &>/dev/null; then gunzip -c "$1" |groff -s -p -t -e -Tlatin1 -mandoc - fi ;; *.1.bz2|*.2.bz2|*.3.bz2|*.4.bz2|*.5.bz2|*.7.bz2|*.8.bz2|*.9.bz2|*.n.bz2|*.man.bz2) if bunzip2 -c "$1" |file - |grep troff &>/dev/null; then bunzip2 -c "$1" |groff -s -p -t -e -Tlatin1 -mandoc - fi ;; *.tar) tar tvvf "$1" 2>/dev/null ;; # View contents of .tar and .tgz files *.tgz) tar tzvvf "$1" 2>/dev/null ;; *.tar.gz) tar tzvvf "$1" 2>/dev/null ;; *.tar.bz2) bzip2 -dc "$1" | tar tvvf - 2>/dev/null ;; *.tar.Z) tar tzvvf "$1" 2>/dev/null ;; *.tar.z) tar tzvvf "$1" 2>/dev/null ;; *.Z) gzip -dc "$1" 2>/dev/null ;; # View compressed files correctly *.z) gzip -dc "$1" 2>/dev/null ;; *.gz) gzip -dc "$1" 2>/dev/null ;; *.bz2) bzip2 -dc "$1" 2>/dev/null ;; *.zip) unzip -l "$1" 2>/dev/null ;; *.rpm) rpm -qpivl "$1" 2>/dev/null ;; # view contents of .rpm files *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L "$1"` ; # groff src FILE=`echo "$FILE" | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc "$1" fi ;; esac } lesspipe "$1"