# lessfile(1) - man - phpMan

[LESSOPEN(1)](https://www.chedong.com/phpMan.php/man/LESSOPEN/1/markdown)                            General Commands Manual                           [LESSOPEN(1)](https://www.chedong.com/phpMan.php/man/LESSOPEN/1/markdown)



## 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 pro‐
       vided 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, un‐
       compress 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 exten‐
       sions (grouped by the programs that handle them):

         *.a
         *.arj
         *.tar.bz2
         *.bz
         *.bz2
         *.deb, *.udeb, *.ddeb
         *.doc
         *.egg
         *.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
         *.tar.xz, *.xz
         *.whl
         *.jar, *.war, *.xpi, *.zip
         *.zoo
         *.tar.zst, *.tzst
         *.zst

## 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 _.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 han‐
       dles 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 FILTERS
              for more information.

## BUGS
       Sometimes, less does not display the contents file you want to view but output that  is  pro‐
       duced  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)](https://www.chedong.com/phpMan.php/man/less/1/markdown)

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



                                                                                         [LESSOPEN(1)](https://www.chedong.com/phpMan.php/man/LESSOPEN/1/markdown)
