The usage of grep in Linux is to search for lines of text that match a specific pattern and output the matching lines. The grep command has a variety of options and usages, allowing flexible search and matching operations according to different needs. Commonly used options are: 1. -i, ignore the case of characters when searching; 2. -n, display matching line numbers; 3. -c, count the number of matching lines; 4. -r, recursively search in the specified directory Search files under; 5. -l, only display file names containing matching items; 6. -v, reverse matching, output lines that do not contain matching items, etc.
#The operating system of this tutorial: linux6.4.3 system, Dell G3 computer.
The grep command is a commonly used text search tool in Linux/Unix environments. It uses regular expressions to search for lines of text that match specific patterns and outputs the matching lines. The grep command has a variety of options and usages, allowing flexible search and matching operations according to different needs.
Basic usage
The basic usage of the grep command is as follows:
grep [options] pattern [file...]
Among them, options are the options of the grep command, used to specify the search behavior; pattern is the search pattern, which can Use a regular expression to match text; file is the file name and specifies which files to search in.
Common options
The following are some common options for the grep command:
-i: Ignore case, ignore the case of characters when searching.
-n: Display matching line numbers.
-c: Count the number of matching lines.
-r: Recursively search for files in the specified directory.
-l: Show only file names that contain matches.
-v: Reverse matching, output lines that do not contain matching items.
-A num: Output the content after the matching item, num indicates the number of lines to be output.
-B num: Output the content before the matching item, num indicates the number of lines to be output.
-C num: Output the content before and after the match, num indicates the number of lines to be output.
Example usage
The following are some example usages of the grep command:
Search for lines containing the "grep" keyword in all files in the current directory:
grep grep *
Search for lines containing a specific string in the file and output the line number:
grep -n 'string' file.txt
Recursively search for keywords in the file in the directory:
grep -r 'pattern' /path/to/directory
Reverse match, output Lines that do not contain the keyword:
grep -v 'pattern' file.txt
Search for lines that contain the keyword but do not contain the keyword in a specific file:
grep 'pattern' file1.txt | grep -v -f file2.txt
Here is a more complex example, we will be in a directory Search for lines containing the "def" keyword in all Python files in its subdirectories, and output the line number and line content:
grep -n 'def' /path/to/directory/*.py
We can also use recursive search, for example, in the current directory and its subdirectories Search all files in the directory for lines containing the "import" keyword:
grep -r 'import' ./*
In addition, we can also use grep in conjunction with other commands, such as using pipes to pass the output to other commands for processing. Here is an example that uses grep to search a file for lines containing the "error" keyword, and passes the results to the less command for paged viewing:
grep 'error' file.txt | less
These examples are just a small sampling of what the grep command can do, The grep command also supports more complex regular expressions and more options. You can view more detailed grep command documentation by running the man grep command for more information and usage.
The above is the detailed content of What is the usage of grep in linux?. For more information, please follow other related articles on the PHP Chinese website!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

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

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.