Regular expressions can be made case insensitive using (?i). In backreferences, the strings can be converted to lower or upper case using L or U (e.g. This requires PERL = TRUE. CC BY Ian Kopacka. [email protected] Regular expressions can conveniently be created using rex::rex. Of sed, one must understand 'regular expressions.' For this, see 'Mastering Regular Expressions' by Jeffrey Friedl (O'Reilly, 1997). The manual ('man') pages on Unix systems may be helpful (try 'man: sed', 'man regexp', or the subsection on regular expressions in 'man: ed'), but man pages are notoriously difficult. They are not written to.
I've used grep for a long time, how can I do things on Sumo?
Searching across multiple servers and aggregating the results is where the power of Sumo really lies. This cheat sheet can make it easier for you to move from greping logs to more in-depth querying with Sumo Logic.
Grep Cheat Sheet Pdf
Remember that Sumo Logic queries are time-constrained.We recommend that search your data using the _sourceCategory metadata tag, but you’ll see that the examples below use the _sourceName metadata tag because _sourceName should reflect the full canonical path of the file, which is typically what you use when greping files. You should still follow the seven search rules to live by.
Grep Regex Cheat Sheet 2019
Linux Grep Command Cheat Sheet
grep Command Line | Sumo Equivalent | Description |
cat ./log_file | _sourceName=*/log_file | Returns the contents of a file named log_file for a specific timeframe. In Sumo, you must paginate through the results, but you can also search for ALL log files across your stack which share the same name. |
grep -i 'string' ./log_file | _sourceName=*/log_file AND 'string' | Returns all log lines containing the term 'string' (case insensitive) in a file named log_file. |
grep -i 'string' ./log_* | _sourceName=*/log_* AND 'string' | Returns all log lines containing the word 'string' (case insensitive) in a file that starts with 'log_' in its name. |
grep 'literal_string' ./log_file | _sourceName=*/log_file AND 'literal_string' | Returns all log lines containing the term 'literal_string' (case sensitive) in a file named log_file. |
grep 'start.*end' ./log_file | _sourceName=*/log_file | Using regex, returns all events where a particular pattern is present on the log line. |
grep -iw 'string' ./log_file | _sourceName=*/log_file AND ' string ' | Finds all words which match the term 'string' in a file named 'log_file'. Notice the spaces around string. |
grep -A 3 -i 'example' ./log_file | No equivalent operation. | Returns the log events 3 lines after the line which included the term 'example'. While there is no query language equivalent operation, you can search surrounding messages. |
grep -B 3 -i 'example' ./log_file | No equivalent operation. | Returns the log events 3 lines before the line which included the term 'example'. While there is no query language equivalent operation, you can search surrounding messages. |
grep -C 3 -i 'example' ./log_file | No equivalent operation. | Returns the log events 3 lines before and after the line which included the term 'example'. While there is no query language equivalent operation, you can search surrounding messages. |
grep -r 'string' ./* | _sourceHost=server_name AND _sourceName=* AND 'string' | Returns all files and events within a specific server which include the term “string”. Notice the _sourceHost metadata tag is used to hone in on a single server. |
grep -c 'string' ./log_file | _sourceName=*/log_file AND 'string' | Count the number of lines which match the term 'string'. |
grep -v 'string' ./log_file | _sourceName=*/log_file AND !'string' | Returns only the log events where the term 'string' was not found. |
grep -l 'string' ./log_* | _sourceName=*/log_* AND 'string' | Returns only the file names where the term 'string' was found. |
grep -o 'start.*end' ./log_file | _sourceName=*/log_file | Returns only the part of the log event which matches my search term. |