本備忘單旨在快速提醒使用命令行程序 grep 所涉及的主要概念,并假設(shè)您已經(jīng)了解其用法。
搜索標(biāo)準(zhǔn)輸出(即文本流)
$ grep [options] search_string
在文件中搜索確切的字符串:
$ grep [options] search_string path/to/file
打印 myfile.txt 中包含字符串“mellon”的行
$ grep 'mellon' myfile.txt
文件名中接受通配符。
| 選項(xiàng) | 示例 | 說明 |
|---|---|---|
-i | grep -i ^DA demo.txt | 忘記區(qū)分大小寫 |
-w | grep -w "of" demo.txt | 僅搜索完整的單詞 |
-A | grep -A 3 'Exception' error.log | 匹配字符串后顯示 3 行 |
-B | grep -B 4 'Exception' error.log | 在匹配字符串前顯示 4 行 |
-C | grep -C 5 'Exception' error.log | 在匹配字符串周圍顯示 5 行 |
-r | grep -r 'github.io' /var/log/nginx/ | 遞歸搜索 (在子目錄內(nèi)) |
-v | grep -v 'warning' /var/log/syslog | 返回所有與模式不匹配的行 |
-e | grep -e '^al' filename | 使用正則表達(dá)式 (以'al'開頭的行) |
-E | grep -E 'ja(s|cks)on' filename | 擴(kuò)展正則表達(dá)式 (包含 jason 或 jackson 的行) |
-c | grep -c 'error' /var/log/syslog | 計(jì)算匹配數(shù) |
-l | grep -l 'robot' /var/log/* | 打印匹配文件的名稱 |
-o | grep -o search_string filename | 只顯示字符串的匹配部分 |
-n | grep -n "go" demo.txt | 顯示匹配的行號(hào) |
有關(guān)更復(fù)雜的要求,請(qǐng)參閱完整版的正則表達(dá)式備忘單。
| :- | :- |
|---|---|
. | 任何字符 |
? | 可選且只能出現(xiàn)一次 |
* | 可選的,可以多次出現(xiàn) |
+ | 必需并且可以多次出現(xiàn) |
| :- | :- |
|---|---|
{n} | 前一項(xiàng)恰好出現(xiàn) n 次 |
{n,} | 上一個(gè)項(xiàng)目出現(xiàn) n 次或更多 |
{,m} | 上一個(gè)項(xiàng)目最多出現(xiàn) n 次 |
{n,m} | 上一項(xiàng)出現(xiàn)在 n 到 m 次之間 |
| :- | :- |
|---|---|
[:alpha:] | 任何大小寫字母 |
[:digit:] | 任何數(shù)字 |
[:alnum:] | 任何大小寫字母或數(shù)字 |
[:space:] | 任何空格 |
| :- | :- |
|---|---|
[A-Z-a-z] | 任何大小寫字母 |
[0-9] | 任何數(shù)字 |
[0-9-A-Z-a-z] | 任何大小寫字母或數(shù)字 |
| :- | :- |
|---|---|
^ | 行的開頭 |
$ | 行結(jié)束 |
^$ | 空行 |
\< | 詞的開頭 |
\> | 詞尾 |
history | grep git
輸入過 git 命令的記錄
grep -l "text" file1 file2 file3...
grep "text" . -r -n
. 表示當(dāng)前目錄。
# 目錄中所有的 .php 和 .html 文件中
# 遞歸搜索字符 "main()"
grep "main()" . -r --include *.{php,html}
# 在搜索結(jié)果中排除所有 README 文件
grep "main()" . -r --exclude "README"
# 在搜索結(jié)果中排除 filelist 文件列表里的文件
grep "main()" . -r --exclude-from filelist
grep "text" -n file_name
# 或
cat file_name | grep "text" -n
#多個(gè)文件
grep "text" -n file_1 file_2
echo "hello world" | grep -i "HELLO"
# hello
grep -c "text" file_name
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片