## 5.4. Copying a File into Another File

Sometimes you want to copy text or data already entered on the system into the file you are editing. In vi you can read in the contents of another file with the ex command:

>     :read filename

or its abbreviation:

>     :r filename

This command inserts the contents of filename starting on the line after the cursor position in the file. If you want to specify a line other than the one the cursor's on, simply type the line number (or other line address) you want before the `read` or `r` command.

Let's suppose you are editing the file practice and want to read in a file called data from another directory called /home/tim. Position the cursor one line above the line where you want the new data inserted, and enter:

>     :r /home/tim/data

The entire contents of /home/tim/data are read into practice, beginning below the line with the cursor.

To read in the same file and place it after line 185, you would enter:

>     :185r /home/tim/data

Here are other ways to read in a file:

`:$r /home/tim/data`
  Place the read-in file at the end of the current file.
`:0r /home/tim/data`
  Place the read-in file at the very beginning of the current file.
`:/``pattern``/r /home/tim/data`
  Place the read-in file in the current file, after the line containing pattern.

Copyright © 2003 O'Reilly & Associates. All rights reserved.