1. Official Introduction grep is a commonly used command in Linux. It is a Unix tool used to perform repetitive search tasks on files and text. You can specify specific search conditions through the grep command to search files and their contents to obtain useful information. Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. PATTERN is, by default, a basic regular expression (BRE). Example: grep -i 'hello world' menu.h main.c Regexp selection and interpretation: -E, --extended-regexp PATTERN is an extended regular expression (ERE) -F, --fixed-strings PATTERN is a set of newline-separated fixed strings -G, --basic-regexp PATTERN is a basic regular expression (BRE) -P, --perl-regexp PATTERN is a Perl regular expression -e, --regexp=PATTERN use PATTERN for matching -f, --file=FILE obtain PATTERN from FILE -i, --ignore-case ignore case distinctions -w, --word-regexp force PATTERN to match only whole words -x, --line-regexp force PATTERN to match only whole lines -z, --null-data a data line ends in 0 byte, not newline Miscellaneous: -s, --no-messages suppress error messages -v, --invert-match select non-matching lines -V, --version display version information and exit --help display this help text and exit Output control: -m, --max-count=NUM stop after NUM matches -b, --byte-offset print the byte offset with output lines -n, --line-number print line number with output lines --line-buffered flush output on every line -H, --with-filename print the file name for each match -h, --no-filename suppress the file name prefix on output --label=LABEL use LABEL as the standard input file name prefix -o, --only-matching show only the part of a line matching PATTERN -q, --quiet, --silent suppress all normal output --binary-files=TYPE assume that binary files are TYPE; TYPE is 'binary', 'text', or 'without-match' -a, --text equivalent to --binary-files=text -I equivalent to --binary-files=without-match -d, --directories=ACTION how to handle directories; ACTION is 'read', 'recurse', or 'skip' -D, --devices=ACTION how to handle devices, FIFOs and sockets; ACTION is 'read' or 'skip' -r, --recursive like --directories=recurse -R, --dereference-recursive likewise, but follow all symlinks --include=FILE_PATTERN Search only files that match FILE_PATTERN --exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN --exclude-from=FILE skip files matching any file pattern from FILE --exclude-dir=PATTERN directories that match PATTERN will be skipped. -L, --files-without-match print only names of FILEs containing no match -l, --files-with-matches print only names of FILEs containing matches -c, --count print only a count of matching lines per FILE -T, --initial-tab make tabs line up (if needed) -Z, --null print 0 bytes after FILE name Context control: -B, --before-context=NUM print NUM lines of leading context -A, --after-context=NUM print NUM lines of trailing context -C, --context=NUM print NUM lines of output context -NUM same as --context=NUM --group-separator=SEP use SEP as a group separator --no-group-separator use empty string as a group separator --color[=WHEN], --colour[=WHEN] use markers to highlight the matching strings; WHEN is 'always', 'never', or 'auto' -U, --binary do not strip CR characters at EOL (MSDOS/Windows) -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS/Windows) 'egrep' means 'grep -E'. 'fgrep' means 'grep -F'. Direct invocation as either 'egrep' or 'fgrep' is deprecated. When FILE is -, read standard input. With no FILE, read . if a command-line -r is given, - otherwise. If fewer than two FILEs are given, assume -h. Exit status is 0 if any line is selected, 1 otherwise; if any error occurs and -q is not given, the exit status is 2. Report bugs to: [email protected] GNU Grep home page: <http://www.gnu.org/software/grep/> General help using GNU software: http://www.gnu.org/gethelp/ I usually simply check user data for simple data proofreading. Recently, I suddenly received a request to analyze the background logs, and then I found that grep is quite useful. For example, our background log is quite large. If we pull it directly from the server, it will take a long time and occupy bandwidth. So the solution is to directly use the grep keyword to redirect it to a new file, from 14G directly to 12M, and then clean and analyze the data. 2. Practical Introduction 2.1 Use the grep command to query multiple texts in multiple files Note: Use the egrep command to use extended regular expressions 1. Multiple files
2. Multiple texts, the relationship is OR
For example, the following extracts the keywords wordA or wordB in the file: grep 'wordA\|wordB' *.py grep -E 'wordA|wordB' *.doc grep -e wordA -e wordB *.py egrep "wordA|wordB" *.c 3. Multi-text relationship is AND I don’t see any [option] that can be used directly here, so I can only add a pipe symbol |. For example: grep -e pattern1 *.py |grep -e pattern2 2.2 Exact match keyword -w grep -w 'warning\|error\|critical' /home/logs 2.3 Use the -i parameter to ignore case and --color to highlight matching results egrep -wi --color 'warning|error|critical' /home/logs 2.4 Recursive Search egrep -Rwi --color 'warning|error' /home/logs/ This is the end of this article about the detailed usage of the commonly used Linux command - grep command. For more relevant content about the detailed explanation of the grep command in Linux, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: What are the differences between sql and mysql
>>: vue-electron problem solution when using serialport
Method 1: Set the readonly attribute to true. INPU...
Dynamically adding form items iview's dynamic...
Preparation 1. Check whether the GPU supports CUD...
Websites without https support will gradually be ...
MultiTail is a software used to monitor multiple ...
When switching users in the docker container, it ...
introduction Sometimes, if there are a large numb...
URL rewriting helps determine the preferred domai...
Table of contents 1. Prerequisites 1.1 Supported ...
Browser compatibility is the most important part ...
Table of contents Event Loop miscroTask (microtas...
1. Big Data and Hadoop To study and learn about b...
Table of contents 1. Joint index description 2. C...
This article example shares the specific code for...
Copy code The code is as follows: <input type=...