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:2designates 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.
nThe nth word.
^The first argument; that is, word 1.
$The last argument.
%The word matched by the most recent ‘?string?’ search.
x-yA 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 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