grep
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Pages
Examples
- grep text_to_find *.log
- find [text_to_find] by checking all the logfiles in the current folder
- grep -r text_to_find *
- find [text_to_find] by checking all files in the current folder or under it
Note that you can't do e.g. grep -r [text_to_find] *.log
because that will only search in folders named [something].log
. The reasons for this are complicated.
Questions
- So, how do you grep for a string which contains spaces and quote characters? This is probably some standard feature of Linux Shell syntax which everyone knows, but I don't, and that's why this page needs examples.
- A: Tentatively, you can surround a string with double-quotes and escape any quotes in the search-string with the backslash character. (Single quotes do not seem to work.)
- Likewise, how do you search a group of files? Using "*.*" for FILE doesn't seem to work, and leaving the FILE argument blank tells grep to expect input from STDIN.
- A: apparently "*" by itself; see examples above
Notes
The backtick character ("`") seems to mean "insert the output of this command here" -- so if you're trying to search for a literal backtick, it needs to be escaped with "\" ("\`"). This comes up sometimes when searching for SQL phrases.
Links
- official documentation: more current than the manpage on this server
- Wikipedia