Word Designators
Commands consist of words. A word is a command name, an argument, an operator, or a special character like ;
or &
. If I type the following command:
% grep "Baton Rouge" addresses|sort>output&
the shell breaks the command into words, and numbers them as follows:
0 1 2 3 4 5 6 7 grep "Baton Rouge" addresses | sort > output &
Words are numbered, starting with 0, so the command name is usually word 0, and the first argument is usually word 1.
The history mechanism allows you to reference any word from any command in your history list, using word designators. Most often, however, you'll probably want to repeat words from your previous command, using the designators shown in Table 6-2.
Table 6-2. History Reference Word Designators for Previous Command
Designator | Description |
---|---|
| Repeat all arguments from previous command |
| Repeat first argument from previous command |
| Repeat last argument from previous command |
!*
is useful when you want to run a command on the files you used in your previous command:
%more file1 file2 file3
Look at some files %pr !* | lpr
Print the same files pr file1 file2 file3 | lpr
Or if you want to rerun a command, with an extra flag between the command name and the arguments:
%grep error file1 file2
Search for a word %grep -i !*
Do a case-insensitive search instead grep -i error file1 file2
Using !$
to repeat the last argument is useful for doing a series of operations on the same file. To review, edit, print, and mail a file, you might do something like this: ...
Get Using csh & tcsh now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.