bfs - Scans files
bfs [-] file...
command is a read-only line editor typically
used to scan files.
Suppresses the display of file sizes. Normally,
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
prompts you with
(asterisk). You can turn off prompting
by entering a
again. The command
displays error messages only when prompting is turned on.
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
can be used, and all 26 marks are remembered. See
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 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.
Commands: csplit(1), ed(1), grep(1)