*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> lesspipe (1)              
Title
Content
Arch
Section
 

LESSOPEN(1)

Contents


NAME    [Toc]    [Back]

       lessfile, lesspipe - "input preprocessor" for  less.

SYNOPSIS    [Toc]    [Back]

       lessfile, lesspipe

DESCRIPTION    [Toc]    [Back]

       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    [Toc]    [Back]

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

       eval $(lessfile) or eval $(lesspipe)

USER DEFINED FILTERS    [Toc]    [Back]

       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    [Toc]    [Back]

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

BUGS    [Toc]    [Back]

       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 <[email protected]>:

	      "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    [Toc]    [Back]

      
      
       less(1)

AUTHOR    [Toc]    [Back]

       This manual page was written by	Thomas	Schoepf  <[email protected]>,
       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
       <[email protected]>.



								   LESSOPEN(1)
[ Back ]
 Similar pages
Name OS Title
XmImUnsetFocus HP-UX An input manager function that notifies an input method that a widget has lost input focus
XmImVaSetFocusValues HP-UX An input manager function that notifies an input manager that a widget has received input focus and updates th
XmImSetFocusValues HP-UX An input manager function that notifies an input manager that a widget has received input focus and updates th
cpp-2.96 Linux The C Preprocessor
cpp HP-UX the C language preprocessor
cpp IRIX the C language preprocessor
mmroff FreeBSD reference preprocessor
cpp Tru64 the C language preprocessor
gasp FreeBSD the GNU Assembler Macro Preprocessor
cpp FreeBSD The GNU C-Compatible Compiler Preprocessor.
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service