Word Designators
Word designators are used to select desired words from the event. A ‘:’ separates the event specification from the word designator. It may be omitted if the word designator begins with a ‘^’, ‘$’, ‘*’, ‘-’, or ‘%’. Words are numbered from the beginning of the line, with the first word being denoted by 0 (zero). Words are inserted into the current line separated by single spaces.
For example,
- !!
- 
designates the preceding command. When you type this, the preceding command is repeated in toto. 
- !!:$
- 
designates the last argument of the preceding command. This may be shortened to !$.
- !fi:2
- designates the second argument of the most recent command starting with the letters - fi.
Here are the word designators:
- 0 (zero)
- 
The 0th word. For many applications, this is the command word.
- n
- 
The nth word. 
- ^
- 
The first argument; that is, word 1. 
- $
- 
The last argument. 
- %
- 
The first word matched by the most recent ‘?string?’ search, if the search string begins with a character that is part of a word. 
- x-y
- 
A range of words; ‘-y’ abbreviates ‘0-y’. 
- *
- 
All of the words, except the 0th. This is a synonym for ‘1-$’. It is not an error to use ‘*’ if there is just one word in the event; the empty string is returned in that case.
- x*
- 
Abbreviates ‘x-$’ 
- x-
- 
Abbreviates ‘x-$’ like ‘x*’, but omits the last word. If ‘x’ is missing, it defaults to 0. 
If a word designator is supplied without an event specification, the previous command is used as the event.
    Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
    https://www.gnu.org/software/bash/manual/html_node/Word-Designators.html