38 lines
1.4 KiB
Bash
38 lines
1.4 KiB
Bash
|
#!/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"
|
||
|
|