- Install the latest version of WSL.
- Use grep -- grep -a [-r] -l '<regular_expression>'
The -r flag will cause it to recurse subdirectories. If you want it to also follow shortcuts, use -R instead of -r.
If you want the line(s) containing the matching string, omit the -l.
If you want line numbers in front of the matching lines, use -n.
The grep command has many many more options.
I won't completely explain "regular expression" here, but suffice it to say that "Vijay" will match any string containing Vijay and "Vijay Kumar" will match any string containing Vijay Kumar. However, there are also other things you can do, for example, '([\da-fA-F]{1,2}[:.-]){5}[\da-fA-F]{1,2}' will match a MAC address using :, -, or . to separate the octets and represented in hex. (It won't match the weird Cisco aaaa.aaaa.aaaa format or the even weirder Cisco aaaa-aaaa-aaaa format, but it will match the standard 12:34:56:78:9a:bc format with any combination of :, -, or . as the separator.
() is a grouping of regular expression components. [] builds a character class, so any of the specified characters in the class will match. The class [\da-fA-F] will match any digit (\d = a character class of digits 0-9), any letter in the range a-f or any capital letter in the range A-F. So basically, this character class will match a single hex digit. The {x,y} construct is a range. It means match x-y instances of the preceding regular expression. So the {1,2} after the character class will match 1 or 2 hex digits. Next we define a character class for the separators. Since . and - are normally special in regular expression character classes (. means match any single character, - is used to specify a range (e.g. a-f = a,b,c,d,e, or f), in order to match them literally, they must be escaped with a \ character. So now we have an expression that matches 1-2 hex digits followed by a :, -, or . -- This is what we put in parenthesis so that we can then {5} match it 5 times. Then we repeat the 1-2 hex digits specification without a trailing delimiter to match the 6th octet.
As you can see, this allows you to do a LOT of really cool things fairly easily.
These tools are built into reputable operating systems, but you need to add Windows Subsystem for Linux to be able to use them on Windows (which seems to be what you are most likely using).