I am having an issue with using Ag (The Silver Searcher)...
In the docs it says to use -Q
for exact match, but I don't understand why it does not work for my purposes. If I type something like ag -Q actions
or ag -Q 'actions'
into my terminal, it returns all instances of actions
, including things like transactions
and any other strings that actions
is part of.
I have tried a couple other combinations of flags from the docs, including -s
and -S
, among others, but still I cannot get strictly strings matching just actions
to return for me.
I can't get this to work with grep
either. Does anyone know how I can get what I need with ag
? (or even with grep
)...?
Thank you in advance!
Because ag (and grep), find files that contain something. ag -Q
means to interpret the search as an exact literal string, not a fuzzy string or a regex. Okay. But a file that has the word "transactions" in it contains exactly, literally the character sequence actions
. Sure, it contains more than that too, but that's not surprising.
Probably you're looking for a word-boundary search, grep '\bactions\b'
or ag -w -Q actions
(maybe ag -w -Q -s actions
). But that is not at all the same thing as "just actions", it's a specific requirement on the things surrounding "actions" (namely that they be the beginning or end of a line, or non-letter characters). You have to tell the computer what you actually mean.