Unix/Linux Go Back    


Linux 2.6 - man page for lesspipe (linux section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


LESSOPEN(1)									      LESSOPEN(1)

NAME
       lessfile, lesspipe - "input preprocessor" for  less.

SYNOPSIS
       lessfile, lesspipe

DESCRIPTION
       This  manual page documents briefly the lessfile, and lesspipe commands.  This manual page
       was written for the Debian GNU/Linux distribution because the input  preprocessor  scripts
       are provided by Debian GNU/Linux and are not part of the original program.

       lessfile  and  lesspipe	are programs that can be used to modify the way the contents of a
       file are displayed in less.  What this means is that less can automatically  open  up  tar
       files, uncompress gzipped files, and even display something reasonable for graphics files.

       lesspipe  will  toss  the  contents/info  on  STDOUT  and less will read them as they come
       across.	This means that you do not have to wait for the decoding to  finish  before  less
       shows you the file.  This also means that you will get a 'byte N' instead of an N% as your
       file position.  You can seek to the end and back to get the N% but that means you have  to
       wait for the pipe to finish.

       lessfile  will  toss the contents/info on a file which less will then read.  After you are
       done, lessfile will then delete the file.  This means  that  the  process  has  to  finish
       before you see it, but you get nice percentages (N%) up front.

USAGE
       Just put one of the following two commands in your login script (e.g.  ~/.bash_profile):

	 eval "$(lessfile)"

       or

	 eval "$(lesspipe)"

FILE TYPE RECOGNITION
       File  types  are  recognized  by  their extensions.  This is a list of currently supported
       extensions (grouped by the programs that handle them):

	 *.a
	 *.arj
	 *.tar.bz2
	 *.bz
	 *.bz2
	 *.deb, *.udeb
	 *.doc
	 *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif
	 *.iso, *.raw, *.bin
	 *.lha, *.lzh
	 *.tar.lz, *.tlz
	 *.lz
	 *.7z
	 *.pdf
	 *.rar, *.r[0-9][0-9]
	 *.rpm
	 *.tar.gz, *.tgz, *.tar.z, *.tar.dz
	 *.gz, *.z, *.dz
	 *.tar
	 *.jar, *.war, *.xpi, *.zip
	 *.zoo

USER DEFINED FILTERS
       It is possible to extend and overwrite the default lesspipe and lessfile  input	processor
       if you have specialized requirements. Create an executable program with the name .lessfil-
       ter and put it into your home directory. This can be a shell script or a binary program.

       It is important that this program returns the correct exit code: return 0 if  your  filter
       handles	the  input,  return  1 if the standard lesspipe/lessfile filter should handle the
       input.

       Here is an example script:

	 #!/bin/sh

	 case "$1" in
	     *.extension)
		 extension-handler "$1"
		 ;;
	     *)
		 # We don't handle this format.
		 exit 1
	 esac

	 # No further processing by lesspipe necessary
	 exit 0

FILES
       ~/.lessfilter
	      Executable file that can do user defined processing. See section USER DEFINED  FIL-
	      TERS for more information.

BUGS
       When  trying  to  open  compressed 0 byte files, less displays the actual binary file con-
       tents. This is not a bug.  less is designed to do that (see manual page	less(1),  section
       INPUT PREPROCESSOR).  This is the answer of Mark Nudelman <markn@greenwoodsoftware.com>:

	      "I recognized when I designed it that a lesspipe filter cannot output an empty file
	      and have less display nothing in that case; it's a side effect  of  using  the  "no
	      output"  case  to mean "the filter has nothing to do".  It could have been designed
	      to have some other mechanism to indicate "nothing to do", but  "no  output"  seemed
	      the simplest and most intuitive for lesspipe writers."

       Sometimes,  less  does  not  display the contents file you want to view but output that is
       produced by your login scripts (~/.bashrc or ~/.bash_profile). This happens  because  less
       uses  your  current  shell  to  run the lesspipe filter. Bash first looks for the variable
       $BASH_ENV in the environment expands its value and  uses the expanded value as the name of
       a file to read and execute. If this file produces any output less will display this. A way
       to solve this problem is to put the following lines on the top of your login  script  that
       produces output:

	 if [ -z "$PS1" ]; then
	     exit
	 fi

       This  tests whether the prompt variable $PS1 is set and if it isn't (which is the case for
       non-interactive shells) it will exit the script.

SEE ALSO
       less(1)

AUTHOR
       This manual page was written  by  Thomas  Schoepf  <schoepf@debian.org>,  for  the  Debian
       GNU/Linux  system (but may be used by others). Most of the text was copied from a descrip-
       tion written by Darren Stalder <torin@daft.com>.

										      LESSOPEN(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 08:48 PM.