


How to use grep command in linux? (detailed explanation)
The grep command in Linux system is a powerful text search tool. It can use regular expressions to search text and print out matching lines. Its usage syntax is "grep [options] pattern [files] ".
#The operating environment of this article: linux5.9.8 system, Dell G3 computer.
Linux grep command
The Linux grep command is used to find qualified strings in files; it can also be used to find files containing specified template styles. It can use regular expression search to search for a specified string pattern in a file, list the file names containing substrings matching the pattern, and output the text lines containing the string.
grep works like this: it searches one or more files for a string template. If the template contains spaces, it must be quoted, and all strings following the template are treated as file names. The search results are sent to standard output without affecting the original file content.
Basic syntax:
grep [options] pattern [files]
Main parameters of [options]:
-a or --text: Do not ignore Binary data.
-A
-b or --byte-offset: Mark the number of the first character of the line before displaying the line that matches the style.
-B
-c or --count : Count the number of columns that match the style.
-C
-d
-e or --regexp= : Specify a string as the style for searching file content.
-E or --extended-regexp : Use the style as extended ordinary notation.
-f
-F or --fixed-regexp : Treat styles as a list of fixed strings.
-G or --basic-regexp : Treat the style as a normal notation.
-h or --no-filename: Do not indicate the file name to which the line belongs before displaying the line that matches the style.
-H or --with-filename: Before displaying the line that matches the style, indicates the file name to which the line belongs.
-i or --ignore-case: Ignore differences in character case.
-l or --file-with-matches: List file names whose file contents match the specified pattern.
-L or --files-without-match: List file names whose content does not match the specified style.
-n or --line-number: Before displaying the line that matches the style, indicate the column number of the line.
-o or --only-matching: Only display the matching PATTERN part.
-q or --quiet or --silent: Do not display any information.
-r or --recursive: The effect of this parameter is the same as specifying the "-d recurse" parameter.
-s or --no-messages: Do not display error messages.
-v or --revert-match : Display all lines that do not contain matching text.
-V or --version : Display version information.
-w or --word-regexp: Only display columns that match whole words.
-x --line-regexp: Only display columns that match all columns.
-y: The effect of this parameter is the same as specifying the "-i" parameter.
-?: Display the upper and lower matching lines at the same time? lines, such as: grep -2 pattern filename displays the upper and lower lines of the matching line at the same time.
pattern Main parameters of regular expression:
\: Ignore the original meaning of special characters in the regular expression.
^: Matches the starting line of the regular expression.
$: Matches the end line of the regular expression.
\<:Start from the line matching the regular expression.
\>:To the end of the line matching the regular expression.
[]: A single character, such as [A] means A meets the requirements.
[ - ]: Range, such as [A-Z], that is, A, B, C to Z all meet the requirements.
.: All single characters.
*: There are characters, and the length can be 0.
Code example:
Example 1: In the current directory, find files with the word "test" prefixed file containing the "test" string and print out the line of the string. At this time, you can use the following command:
grep test test*
Output:
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行 testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行 testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
Example 2:Reverse search, the "-v" parameter can be used to print out the contents of lines that do not meet the conditions. Find lines that do not contain test in files whose file names contain test
grep -v test *test*
Output:
testfile1:helLinux! testfile1:Linis a free Unix-type operating system. testfile1:Lin testfile_1:HELLO LINUX! testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. testfile_1:THIS IS A LINUX TESTFILE! testfile_2:HELLO LINUX! testfile_2:Linux is a free unix-type opterating system.
相关linux视频教程推荐:《linux语言教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
The above is the detailed content of How to use grep command in linux? (detailed explanation). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

Causes and solutions for the VS Code terminal commands not available: The necessary tools are not installed (Windows: WSL; macOS: Xcode command line tools) Path configuration is wrong (add executable files to PATH environment variables) Permission issues (run VS Code as administrator) Firewall or proxy restrictions (check settings, unrestrictions) Terminal settings are incorrect (enable use of external terminals) VS Code installation is corrupt (reinstall or update) Terminal configuration is incompatible (try different terminal types or commands) Specific environment variables are missing (set necessary environment variables)
