Appending Standard Output

There's a neat twist to output redirection which allows you to add new information to the end of an existing file. Similar to when you used the > symbol, you tell your shell to send the information somewhere other than standard output.

However, when you use >>, you're adding information, rather than replacing it.

The best explanation is a demonstration, so let's take two files which have already been created -- sneakers.txt and home.txt -- and join them by using the append output symbol. We want to add the information in home.txt to the information already in sneakers.txt, so we type:

cat home.txt >> sneakers.txt
	  

Now let's check the file by typing:

cat sneakers.txt
	  

And there it is -- with the contents of home.txt at the end.

What we were saying when we typed that command was, "append the output from the file home.txt to the file sneakers.txt."

By appending the output, we've saved ourselves a step or two (and a bit of disk clutter) by using existing files, rather than creating a new file.

Compare the results of the files sneakers.txt and saturday now, and you'll see that they're identical. To make your comparison, just type:

cat sneakers.txt; cat saturday
	  

The contents of both files will be displayed - first sneakers.txt, then saturday (as shown in Figure 15-14).

CautionDon't replace when you append
 

Remember that when you append output, you've got to include two greater-than symbols (>>). Otherwise, you'll end up replacing the very file to which you want to append information!

Figure 15-14. Stringing Commands and Comparing Files

(By the way, if you're curious about the use of the semi-colon in that last command, read on. We'll cover that later in this chapter.)

TipSummary
 

To append output, use two greater-than symbols (>>). For example: cat addthisfile >> tothisfile.