Word Designators (Bash Reference Manual)
From Get docs
Bash/docs/latest/Word-Designators
Next: Modifiers, Previous: Event Designators, Up: History Interaction [Contents][Index]
9.3.2 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
0
th word. For many applications, this is the command word. n
- The
n
th 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
0
th. 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.
Next: Modifiers, Previous: Event Designators, Up: History Interaction [Contents][Index]