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

  man pages->Tru64 Unix man pages -> bfs (1)              



NAME    [Toc]    [Back]

       bfs - Scans files

SYNOPSIS    [Toc]    [Back]

       bfs [-] file...

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

OPTIONS    [Toc]    [Back]

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

DESCRIPTION    [Toc]    [Back]

       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

       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    [Toc]    [Back]
       The bfs  command  supports  all  the  address  expressions
       described  in  ed(1).  Regular  expressions are covered in
       detail in grep(1).  In addition, 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

SUBCOMMANDS    [Toc]    [Back]

       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  subcommands  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 contains 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, deleting 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
       pattern 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  subcommands  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 possible.  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 1,100p

              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 \ (backslash).  g/".*\%[cds]/p

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

              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  following  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.   (Compressed  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 compressed; 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.

SEE ALSO    [Toc]    [Back]

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

       Functions:  regexp(3)

[ Back ]
 Similar pages
Name OS Title
pax HP-UX Extracts, writes, and lists archive files; copies files and directory hierarchies
dcl2inc Linux postprocess ftnchek .dcl files to create separate INCLUDE files
znew OpenBSD convert compressed files to gzipped files
pod2html IRIX convert .pod files to .html files
pod2html Linux convert .pod files to .html files
pod2html OpenBSD convert .pod files to .html files
znew FreeBSD recompress .Z files to .gz files
znew Linux recompress .Z files to .gz files
gznew IRIX recompress .Z files to .gz files
h2ph IRIX convert .h C header files to .ph Perl header files
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service