Rumah php教程 PHP开发 grep 命令详解及相关事例

grep 命令详解及相关事例

Dec 13, 2016 pm 02:40 PM
grep

一.匹配字符

.    匹配任意单个字符

[ ]  匹配指定范围内的任意字符

[^]  匹配飞指定范围内的任意字符

[:alpha:] 字母字符

[:lower:] 小写字母字符

[:upper:] 大写字母字符

[:digit:] 数字

[:alnum:] 字母数字字符

[:space:] 空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符

[:punct:] 标点字符

[:cntrl:] 控制字符(禁止打印)

[:print:] 可打印字符

使用时一般使用两个中括号,具体会在下面的例子中使用。

二.匹配次数

*      匹配前面的字符任一次

.*    匹配任意长度的任意字符(注意贪婪模式,比如  grep  “r.*t” /etc/passwd  )

x\{m,n\}  指定前面的字符至少出现m次,至多出现N次。

x\{m,\}    指定前面的字符至少出现m次

x\{0,n\}  指定前面的字符至多出现N次

x\{m\}    精确匹配m次

?        匹配其前面的字符0或1次

三.锚定符

1.^  锚定行首    grep  "^r..t"  /etc/passwd

2.$  锚定行尾    grep  "h$"  /etc/passwd

3.^$ 锚定空白行  grep  "^$"  /etc/passwd

4.\< (\b) 锚定词首 grep "\

5.\> (\b)  锚定词首    grep  "r..t\>"  /etc/passwd

示例(容易混淆):

至少包含一个空白字符          grep  "[[:space:]]\{1,\}"  /etc/passwd

至少包含一个非空白字符        grep  "[^[:space:]]\{1,\}"  /etc/passwd

没有一个空白字符              grep  -v "[^[:space:]]\{1,\}"  /etc/passwd

6.\(\)对字符分组  grep  "\(l..e\).*\1r"

示例:

grep --color "l\([13]\):\1:.*:\1"  /etc/inittab

四.选项

-v    对结果取反

-i    忽略字母大小写

-o    仅显示匹配到的字符串(行的其他内容不显示)

-E    支持扩展的正则表达式

-A n    显示匹配到的行下面n行

-B n    显示匹配到的行上面n行

-C n    显示匹配到的行上下面各显示n行

练习:

1.查找系统中user1用户的相关信息。(提前建好user11,myuser1)(易错)

grep "user1"  /etc/passwd    所有包含user1的行

grep "\"  /etc/passwd    表面可以,但是添加以下用户,就不可以了

useradd  -c  "user1's  uncle"  /etc/passwd  -c  是注释

grep "^\"  /etc/passwd    成功匹配

2.查找系统中以user开头后面跟了数字的用户的相关信息。

grep "^user[0-9]\{1,\}\>"  /etc/passwd

3.分析/etc/inittab 文件如下两行文本的特征,编写可以精确查到的类似两行的模式,

要求每行的数字必须相同。

l1:1:wait:/etc/rc.d/rc 1

l3:3:wait:/etc/rc.d/rc 3

grep "l\([13]\):\1:.*:.* \1"  inittab

扩展:匹配所有上述特征:grep "l\([0-9]\):\1:.*:.* \1"  inittab

如果超过10,需要添加最小匹配:grep "l\([0-9]\{1,\}\):\1:.*:.* \1"  inittab

4.显示/proc/meminfo文件中以不区分大小写的s开头的行

grep "^[sS]" /proc/meminfo

5.显示/etc/passwd中以nologin结尾的行

grep "nologin$" /etc/passwd

6.显示/etc/inittab中以#开头,且后面跟一个或者多个空白字符,而后又跟了任意非空白字符的行

grep "^#[[:space:]]\{1,\}[^[:space:]]"  /etc/inittab

7.显示/etc/inittab中包含了两个冒号中间一个数字的行

grep ":[0-9]:" /etc/inittab

8.显示/boot/grub/grub.conf 文件中以一个或者多个空白字符的行

grep ":[0-9]:" /etc/inittab

9.显示/etc/inittab文件中以一个数字开头并以一个开头数字相同的数字结尾的行。

grep "^\([0-9]\).*\1$"  /etc/inittab

10.显示/etc/inittab文件中非空白的行

grep -v  "^$"  /etc/inittab

11.取出当前网络接口的相关IP地址(不包含127.0.0.1)

ifconfig |grep "inet addr" |grep -v "127.0.0.1"| cut -d: -f2|cut -d" " -f1

ifconfig |grep -A 1 "eth" |grep -o "addr:[0-9.]\{1,\}"|cut -d: -f2

五.扩展正则表达式

与正则表达式不同之处:

\(\)替换为 ()

\{\}替换为 {}

+  次数匹配,匹配其前的额字符一次或者多次

|  或者

示例:

匹配ifconfig结果中出现数字为1-255之间的整数

ifconfig|grep --color -E "\<([1-9]|[1-9][0-9]|1[1-9][0-9]|2[0-5][0-5])\>"


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan arahan grep untuk analisis log di Linux? Bagaimana untuk menggunakan arahan grep untuk analisis log di Linux? Jul 29, 2023 pm 02:12 PM

Bagaimana untuk menggunakan arahan grep untuk analisis log di Linux? Pengenalan: Log ialah rekod penting yang dihasilkan semasa operasi sistem Untuk pengendalian sistem, penyelenggaraan dan penyelesaian masalah, analisis log adalah tugas penting. Dalam sistem pengendalian Linux, arahan grep ialah alat carian teks yang berkuasa yang sangat sesuai untuk analisis log. Artikel ini akan memperkenalkan cara menggunakan arahan grep yang biasa digunakan untuk analisis log dan memberikan contoh kod khusus. 1. Pengenalan kepada arahan grep grep ialah fail dalam sistem Linux

Cara menggunakan arahan grep untuk menanyakan kandungan fail pertama dan terakhir tertentu Cara menggunakan arahan grep untuk menanyakan kandungan fail pertama dan terakhir tertentu Jan 09, 2024 am 09:45 AM

Jika anda ingin melihat kandungan fail dalam sistem LINUX, bagaimana anda boleh melihat kandungan pertama dan terakhir bagi fail yang ditentukan? Mari kita lihat tutorial menggunakan grep untuk menanyakan kandungan fail pertama dan terakhir yang ditentukan. 1. Buka LINUX, di sini kita boleh menggunakan sistem operasi UBUNTU. 2. Cari TERMINAL pada bar tugas kiri dan buka tetingkap terminal. 3. Tambah ^ selepas grep untuk menentukan permulaan baris tertentu. 4. Tambah $ selepas kandungan selepas grep untuk menentukan penghujung baris tertentu. 5. ^$ boleh digunakan pada masa yang sama untuk menentukan kandungan yang diperlukan pada permulaan dan penghujung baris tertentu. 6. Jika aksara di tengah hilang atau salah, ia tidak akan disoal. 7. Gunakan dengan -i untuk mengabaikan peraturan kes. 8. Anda juga boleh menggunakan -v

Memperkenalkan cara menggunakan arahan grep untuk memaparkan maklumat konteks di bawah Linux Memperkenalkan cara menggunakan arahan grep untuk memaparkan maklumat konteks di bawah Linux Jan 04, 2024 pm 04:41 PM

Artikel ini terutamanya mengkaji kandungan berkaitan grep yang memaparkan beberapa baris maklumat sebelum dan selepas di bawah Linux. Grep di bawah unix/linux standard mengawal konteks melalui parameter berikut grep-C5foofile memaparkan baris yang sepadan dengan rentetan foo dalam fail fail dan 5 baris atas dan bawah memaparkan foo dan 5 baris pertama memaparkan foo dan 5 baris terakhir untuk melihat versi grep Kaedah penomboran adalah grep-V Jika anda ingin menaik taraf, kaedah naik taraf: kod sumber terkini (halaman utama carian google atau Baidu), susun dan pasangkannya di suatu tempat. seperti /home/aaa/bin/, kemudian gunakan / apabila menggunakannya pada masa hadapan.

Apakah sintaks perintah grep Linux Apakah sintaks perintah grep Linux May 14, 2023 pm 10:43 PM

Perintah Linuxgrep digunakan untuk mencari rentetan yang memenuhi syarat dalam fail. Perintah grep digunakan untuk mencari fail yang kandungannya mengandungi gaya templat yang ditentukan Jika kandungan fail didapati sepadan dengan gaya templat yang ditentukan, arahan grep lalai akan memaparkan lajur yang mengandungi gaya templat. Jika tiada nama fail dinyatakan, atau nama fail ialah -, arahan grep membaca data daripada peranti input standard. Sintaks: parameter grep: -a atau --text: Jangan abaikan data binari. -A or --after-context=: Selain memaparkan lajur yang mematuhi gaya templat dan memaparkan kandungan selepas baris. -b atau --byte-offset: sebelum memaparkan baris yang sepadan dengan gaya

Bagaimana untuk menggunakan grep dalam sistem Linux? Bagaimana untuk menggunakan grep dalam sistem Linux? Feb 19, 2024 pm 03:54 PM

Di Linux, grep adalah alat yang sangat biasa dan penting Ia adalah arahan yang mesti dikuasai oleh setiap jurutera operasi dan penyelenggaraan profesional, kerana ia boleh mencari dan menapis kandungan fail dengan cepat. Jadi, bagaimana untuk menggunakan grep dalam sistem Linux Mari kita lihat pengenalan penggunaan biasa. 1. Penggunaan asas Arahan grep digunakan terutamanya untuk mencari baris corak tertentu dalam fail. Contohnya, untuk mencari baris yang mengandungi "contoh" dalam fail file.txt, anda boleh menggunakan arahan grep. grep 'example' file.txt grep akan mengeluarkan semua baris yang mengandungi 'example'. ,

Apakah yang dilakukan oleh perintah grep Linux? bagaimana nak guna? Apakah yang dilakukan oleh perintah grep Linux? bagaimana nak guna? Feb 19, 2024 pm 02:33 PM

Apabila melakukan penyelenggaraan sistem Linux, jika anda ingin mencari dengan cepat apa yang anda perlukan dalam teks, arahan grep ialah pilihan yang sangat baik Ia digunakan terutamanya untuk mencari rentetan yang layak dalam fail, dengan itu menjimatkan masa dan meningkatkan kecekapan kerja. Jadi bagaimana untuk menggunakan arahan grep dalam sistem Linux. Mari kita lihat pengenalan terperinci. Perintah grep Linux digunakan untuk mencari rentetan yang memenuhi syarat dalam fail. Perintah grep digunakan untuk mencari kandungan fail yang mengandungi gaya tertentu dan memaparkan baris yang mengandungi gaya. Jika tiada nama fail dinyatakan, grep akan membaca data daripada input standard. grep ialah alat carian teks yang berkuasa yang membantu pengguna mencari maklumat penting dengan cepat. Sintaks grep[-ab

Apakah kegunaan grep dalam linux? Apakah kegunaan grep dalam linux? Sep 05, 2023 am 11:01 AM

Penggunaan grep dalam Linux termasuk penggunaan asas, mengabaikan huruf besar, carian ungkapan biasa, carian terbalik, mengira bilangan baris yang sepadan, carian rekursif, mengeluarkan nombor baris dan mencari daripada aliran input, dsb. Pengenalan terperinci: 1. Penggunaan asas perintah grep adalah untuk mencari baris yang mengandungi corak yang ditentukan dalam fail Untuk mencari baris yang mengandungi "contoh" dalam fail file.txt, anda boleh melaksanakan arahan "grep ". contoh" file.txt "; 2. Abaikan huruf besar secara lalai, grep adalah sensitif huruf besar dan sebagainya.

Penggunaan biasa grep Penggunaan biasa grep Nov 16, 2023 am 10:29 AM

Penggunaan biasa grep termasuk: 1. Padanan mudah; 3. Penggunaan aksara meta; Pengenalan terperinci: 1. Padanan mudah, gunakan perintah grep diikuti dengan rentetan yang akan dipadankan 2. Ungkapan biasa asas, gunakan pilihan -E untuk membolehkan fungsi ungkapan biasa lanjutan 3. Penggunaan aksara meta, dalam ungkapan biasa , anda boleh menggunakan beberapa aksara meta untuk mewakili aksara atau set aksara tertentu 4. Penggunaan aksara sauh, dsb.

See all articles