--- /dev/null
+#!/bin/sh
+# This is a preprocessor for 'less'. It is used when this environment
+# variable is set: LESSOPEN="|lesspipe.sh %s"
+
+lesspipe() {
+ case "$1" in
+ *.tar) tar tvvf $1 2>/dev/null ;; # View contents of .tar and .tgz files
+ *.tgz|*.tar.gz|*.tar.Z|*.tar.z) gzip -dc $1 | tar tvvf - 2>/dev/null ;;
+ *.tar.bz2) bzip2 -dc $1 | tar tvvf - 2>/dev/null ;;
+ *.zip) unzip -l $1 2>/dev/null ;;
+ *.[1-9n]|*.man)
+ groff -te -Tascii -mandoc $1 ;;
+ *.[1-9].gz|*.man.gz)
+ gzip -dc $1 | groff -te -Tascii -mandoc ;;
+ *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # View compressed files correctly
+ *.bz2) bzip2 -dc $1 2>/dev/null ;; # View compressed files correctly
+# *) FILE=`file -L $1` ; # Check to see if binary, if so -- view with 'strings'
+# FILE1=`echo $FILE | cut -d ' ' -f 2`
+# FILE2=`echo $FILE | cut -d ' ' -f 3`
+# if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \
+# -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
+# strings $1
+# fi ;;
+ esac
+}
+
+lesspipe $1