lessfile

LESSOPEN(1)                 General Commands Manual                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  be-
       cause  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  cur-
       rently supported extensions (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

USER DEFINED FILTERS
       It  is  possible to extend and overwrite the default lesspipe and less-
       file 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:

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

                                                                   LESSOPEN(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.