bfs man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

bfs(1)									bfs(1)

       bfs - Scans files

       bfs [-] file...

       The  bfs	 command  is  a	 read-only  line editor typically used to scan

       Suppresses the display of file sizes.  Normally, bfs displays the  size
       in bytes of the file being scanned.

       The  bfs	 command is similar to the ed command, but has some additional
       subcommands and the ability to process much larger files.

       Input files can be up to 32K lines long, with up to 512 characters  per
       line.  The command bfs is usually more efficient than ed for scanning a
       file because the file is not copied to a	 buffer.   It  is  useful  for
       identifying  appropriate	 lines at which to use the csplit command when
       dividing a large file into more manageable pieces for editing.

       If you enter the P subcommand, bfs prompts you with * (asterisk).   You
       can  turn off prompting by entering a P again. The command bfs displays
       error messages only when prompting is turned on.

   Pattern Searches
       The bfs command supports	 all  the  address  expressions	 described  in
       ed(1).  Regular expressions are covered in detail in grep(1).  In addi‐
       tion, you can instruct bfs to search forward or	backward  through  the
       file  with or without wraparound.  If you specify a forward search with
       wraparound, bfs continues searching from	 the  beginning	 of  the  file
       after it reaches the end of the file.  If you specify a backward search
       with wraparound, it continues searching backward from the  end  of  the
       file after it reaches the beginning.  A search without wraparound stops
       at the beginning or end of the file.

       Specify the four types of searches as follows:  Searches	 forward  with
       wraparound for pattern.	Searches backward with wraparound for pattern.
       Searches forward without wraparound  for	 pattern.   Searches  backward
       without wraparound for pattern.

       The  pattern matching routine of bfs differs somewhat from the one used
       by ed and includes additional features.

       Only lowercase letters a through z can be used, and all	26  marks  are
       remembered.  See ed(1) for information on mark names.

       The  e,	g,  v,	k, n, p, q, w, = , !, and null subcommands operate the
       same as for ed.

       Subcommands such as --, +++-, +++=, -12, and +4p	 are  accepted.	  Note
       that 1,10p and 1,10 both display the first 10 lines.

       The  f  subcommand  displays  only  the name of the file being scanned;
       there are no remembered filenames.  The w subcommand is independent  of
       output  diversion,  truncation, or compression.	See the xo, xt, and xc
       subcommands that follow.

       The following additional subcommands are available: Reads  bfs  subcom‐
       mands  from  file.  When bfs reaches the end of file or receives an INT
       signal or if an error occurs, bfs resumes scanning the file  that  con‐
       tains the xf subcommand. The xf subcommands can be nested to a depth of
       10.  Sends further output from the p and null subcommands to the	 named
       file,  which  is	 created with read and write permission granted to all
       users.  If you do not specify a file, bfs writes	 to  standard  output.
       Note that each redirection to a file creates the specified file, delet‐
       ing an existing file if necessary.  Positions a label in	 a  subcommand
       file.  The label is ended with a newline character.  Spaces between the
       : (colon) and the start of the label are ignored.  This subcommand  can
       be  used	 to  insert comments into a subcommand file, since labels need
       not be referenced.  Sets the current line to the line  containing  pat‐
       tern  and  jumps	 to  label  in	the current command file if pattern is
       matched within the designated range of lines. The jump fails under  any
       of the following conditions: Either address1 or address2 is not between
       the first and last lines of the file.  address2 is less than  address1.
       The  pattern  does  not match at least one line in the specified range,
       including the first and last lines.

	      This subcommand is the only one that does	 not  issue  an	 error
	      message on bad addresses, so it can be used before other subcom‐
	      mands are run to test whether addresses are bad.	Note that  the
	      following subcommand is an unconditional jump: xb/^/label

	      The xb subcommand is allowed only if it is read from a file or a
	      pipe.  If it is read from a pipe, only a downward jump is possi‐
	      ble.  Truncates output from the p and null subcommands to number
	      characters.  The default number is 255.  Assigns	the  specified
	      value to the variable named number (0 to 9).  You can put one or
	      more spaces between number and value.  For example: xv5 100  xv6

	      assigns  the value 100 to the variable 5 and the value 1,100p to
	      the variable 6.

	      To reference a variable, put a % (percent sign) in front of  the
	      variable	name.  Given the preceding assignments for variables 5
	      and 6, the following three subcommands each  display  the	 first
	      100 lines of a file: 1,%5p 1,%5 %6

	      To  escape  the special meaning of %, precede it with a \ (back‐
	      slash).  g/".*\%[cds]/p

	      matches and lists lines containing printf variables (%c, %d,  or

	      You  can	also use the xv subcommand to assign the first line of
	      command output as the value of a variable.  To do this, make the
	      first  character of value an !  (exclamation point), followed by
	      the command name.	  For  example,	 the  following	 command  line
	      stores  the  first  line of the file junk in the variable 5: xv5
	      !cat junk

	      To escape the special meaning of !  as the  first	 character  of
	      value,  precede  it with a \ (backslash).	 For example, the fol‐
	      lowing command line stores the value !date in  the  variable  7:
	      xv7  \!date Tests the last saved exit value from a shell command
	      and jumps to label in the current command file if the value is 0
	      (zero).	Tests  the  last saved exit value from a shell command
	      and jumps to label in the current command file if the  value  is
	      not  0  (zero).	Turns compressed output mode on or off.	 (Com‐
	      pressed output mode suppresses empty lines and replaces multiple
	      spaces and tabs with a single space.)

	      If  switch  is 1, output from the p and null subcommands is com‐
	      pressed; if switch is 0 it  is  not.   If	 you  do  not  specify
	      switch, the current value of switch reverses.  Initially, switch
	      is set to 0.

       Commands:  csplit(1), ed(1), grep(1)

       Functions:  regexp(3)


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net