Home  >  Article  >  Operation and Maintenance  >  Can I find the contents of a file in linux?

Can I find the contents of a file in linux?

青灯夜游
青灯夜游Original
2022-03-21 15:51:512956browse

In Linux, you can use the grep command to find the contents of a file. This command is a powerful text search tool used to find strings that meet the conditions in the file. Regular expressions can be used to search for text; Syntax "grep [options] pattern filename".

Can I find the contents of a file in linux?

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

In Linux, you can use the grep command to find file contents.

The grep (Global Regular Expression Print) command in Linux system is a powerful text search tool, used to find qualified strings in files. It can use regular expressions to search text, and Print matching lines.

The origin of the grep command can be traced back to the early days of UNIX. In UNIX systems, the search patterns are called regular expressions. In order to thoroughly search a file, some users Add the prefix global (comprehensive) before the string to be searched. Once matching content is found, the user will print it to the screen. This series of operations are integrated into global regular expressions. print, which is the full name of the grep command.

The grep command can search for a specific character pattern (that is, a regular expression) in one or more files. This pattern can be a single character, string, word, or sentence.

A regular expression is a pattern that describes a set of strings. The composition of a regular expression imitates a mathematical expression, by using operators to combine smaller expressions into a new expression. Regular expressions can be plain text or special characters used to generate patterns. To further define a search pattern, the grep command supports metacharacters (also known as wildcards) for regular expressions as shown in Table 1.

Table 1 Wildcard characters of regular expressions
Wildcard character Function
c* will match 0 (ie blank) or more characters c (c is any character).
. will match any character, and can only be one character.
[xyz] Matches any character in the square brackets.
[^xyz] Matches all characters except those in square brackets.
^ Lock the beginning of the line.
$ Lock the end of the line.

It should be noted that in basic regular expressions, such as wildcard characters *, , {, |, ( and ), etc., have lost their original meaning, and To restore their original meaning, precede them with a backslash \, such as \*, \, \{, \|, \( and \).

The grep command is used to search for a specific pattern in each file or medium (or on a specific output). When grep is used, each line containing the specified character pattern will be printed (displayed) to the screen. on, but using the grep command does not change the contents of the file.

The basic format of the grep command is as follows:

[root@localhost ~]# grep [选项] 模式 文件名

The pattern here is either a character (string) or a regular expression. The commonly used options of this command and their respective meanings are shown in Table 2.

##- cList only the number of lines in the file that contain the pattern. -iIgnore the case of letters in the pattern. -lList filenames with matching lines. -nList the line number at the beginning of each line. -vList lines that do not match the pattern. -wSearch for the expression as if it were a complete single character, ignoring lines that partially match.
Table 2 grep command common options and their meanings
Options Meaning
Note that if multiple files are searched, the search results of the grep command only display the file names matching the pattern found in the file; and if a single file is searched, the results of the grep command Every line containing a matching pattern will be displayed.

[Example 1] Suppose there is a list of employees in emp.data. Now you want to search this file to find all employees with the position CLERK. Then execute the command as follows:

[root@localhost ~]# grep CLERK emp.data
#忽略输出内容

Based on this If you only want to know the number of employees with the position CLERK, you can use the "-c" option and execute the command as follows:

[root@localhost ~]# grep -c CLERK emp.data
#忽略输出内容

[Example 2] Search the emp.data file and use regular expressions to find out the For data lines starting with 78, the execution command is as follows:

[root@localhost ~]# grep ^78 emp.data
#忽略输出内容

The grep command is very powerful. By using its different options and ever-changing regular expressions, we can obtain any information we need.

Related recommendations: "

Linux Video Tutorial"

The above is the detailed content of Can I find the contents of a file in linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn