LESSOPEN(1)                                                                                                                        LESSOPEN(1)


       lessfile, lesspipe - "input preprocessor" for  less.


       lessfile, lesspipe


       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.


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

         eval "$(lessfile)"


         eval "$(lesspipe)"


       File types are recognized by their extensions.  This is a list of currently supported extensions (grouped by the programs  that  handle

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


       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 .lessfilter 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:


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

         # No further processing by lesspipe necessary
         exit 0


              Executable file that can do user defined processing. See section USER DEFINED FILTERS for more information.


       When  trying to open compressed 0 byte files, less displays the actual binary file contents. 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

       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




       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 description written by Darren Stalder <torin@daft.com>.


Hi, Guest!

This is a manual page collection for Linux and Unix-like operating system.


  • Works with all browsers and mobile phones.
  • The HTML in this layout validates as XHTML 1.0 strict.


Search this site