Modifiers
After the optional word designator, you can add a sequence of one or more of the following modifiers, each preceded by a ‘:’. These modify, or edit, the word or words selected from the history event.
h
-
Remove a trailing pathname component, leaving only the head.
t
-
Remove all leading pathname components, leaving the tail.
r
-
Remove a trailing suffix of the form ‘.suffix’, leaving the basename.
e
-
Remove all but the trailing suffix.
p
-
Print the new command but do not execute it.
q
-
Quote the substituted words, escaping further substitutions.
x
-
Quote the substituted words as with ‘q’, but break into words at spaces, tabs, and newlines. The ‘q’ and ‘x’ modifiers are mutually exclusive; the last one supplied is used.
s/old/new/
-
Substitute new for the first occurrence of old in the event line. Any character may be used as the delimiter in place of ‘/’. The delimiter may be quoted in old and new with a single backslash. If ‘&’ appears in new, it is replaced by old. A single backslash will quote the ‘&’. If old is null, it is set to the last old substituted, or, if no previous history substitutions took place, the last string in a !?string
[?]
search. If new is is null, each matching old is deleted. The final delimiter is optional if it is the last character on the input line. &
-
Repeat the previous substitution.
g
a
-
Cause changes to be applied over the entire event line. Used in conjunction with ‘s’, as in
gs/old/new/
, or with ‘&’. G
-
Apply the following ‘s’ or ‘&’ modifier once to each word in 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/Modifiers.html