内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

文本搜索利器:grepegrepfgrep-創(chuàng)新互聯(lián)

  grep名稱來自于g/re/p(globally search a regular expression and print,以正規(guī)表示法進(jìn)行全域查找以及打?。?是一個(gè)最初用于Unix操作系統(tǒng)的命令行工具。在給出文件列表或標(biāo)準(zhǔn)輸入后,grep會對匹配一個(gè)或多個(gè)正則表達(dá)式的文本進(jìn)行搜索,并只輸出匹配(或者不匹配)的行或文本。

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)巴馬,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
命令名稱:grep, egrep, fgrep
命令作用:print lines matching a pattern
命令用法:grep [OPTIONS] PATTERN [FILE...]
          grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
參數(shù)選項(xiàng):-v  反向選取
          -o  僅顯示匹配的字符串,而非字符串所在的行
          -i  忽略字符串大小寫
          -E  支持只用擴(kuò)展正則表達(dá)式
          -A n  顯示匹配到字符串之后的n行
          -B n  顯示匹配到字符串之前的n行
          -C n  顯示匹配到字符串前后的n行
          --color  高亮顯示匹配到的字符串

常見字符集:

[:space:]所以空白字符
[:punct:]所以標(biāo)點(diǎn)符號
[:lower:]所有小寫字母
[:upper:]所以大寫字母
[:digit:]所有數(shù)字
[:alnum:]所有大小寫字母和數(shù)字
[:alpha:]所有大小寫字母

文件名通配:

*任意長度的任意字符
?匹配任意單個(gè)字符
[]匹配指定范圍內(nèi)的任意單個(gè)字符
[^]匹配指定范圍以外的任意單個(gè)字符

基本正則表達(dá)式:

字符匹配.匹配任意單個(gè)字符
[]匹配指定范圍內(nèi)的任意單個(gè)字符
[^]匹配指定范圍外的任意單個(gè)字符
次數(shù)匹配*前面的字符可以出現(xiàn)任意次
\?前面的字符出現(xiàn)0次或者1次
\{m\}前面的字符出現(xiàn)m次
\{m,n\}前面的字符出現(xiàn)n次~m次
\{m,\}前面的字符至少出現(xiàn)m次
\{0,n\}前面的字符至多出現(xiàn)n次
.*任意長度的任意字符
位置錨定^行首錨定,寫在模式的最左側(cè)
$行尾錨定,寫在模式的最右側(cè)
^$匹配空行
\<詞首錨定,出現(xiàn)于單詞左側(cè)
\>詞尾錨定,出現(xiàn)于單詞右側(cè)
分組\(\)匹配一個(gè)分組
\1引用第1個(gè)括號所匹配到的內(nèi)容,而非模式本身
\2

引用第2個(gè)括號所匹配到的內(nèi)容,而非模式本

擴(kuò)展正則表達(dá)式:

字符匹配.匹配任意單個(gè)字符
[]匹配指定范圍內(nèi)的任意單個(gè)字符
[^]匹配指定范圍外的任意單個(gè)字符
次數(shù)匹配*前面的字符可以出現(xiàn)任意次
?前面的字符出現(xiàn)0次或者1次
+前面的字符至少出現(xiàn)1次
{m}前面的字符出現(xiàn)m次
{m,n}前面的字符出現(xiàn)n次~m次
{m,}前面的字符至少出現(xiàn)m次
{0,n}前面的字符至多出現(xiàn)n次
錨定^行首錨定,寫在模式的最左側(cè)
$行尾錨定,寫在模式的最右側(cè)
\<,\b詞首錨定,出現(xiàn)于單詞左側(cè)
\>,\b詞尾錨定,出現(xiàn)于單詞右側(cè)
^$匹配空行
分組()匹配一個(gè)分組
\1引用第1個(gè)括號所匹配到的內(nèi)容,而非模式本身

grep練習(xí):

1、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;

[root@DB2 ~]# grep -i '^s' /proc/meminfo

[root@DB2 ~]# grep -E '^(S|s)' /proc/meminfo

[root@DB2 ~]# grep '^[S|s]' /proc/meminfo

2、顯示/etc/passwd文件中其默認(rèn)shell為非/sbin/nologin的用戶;

[root@DB2 ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1

3、顯示/etc/passwd文件中其默認(rèn)shell為/bin/bash并且ID號大的用戶;

[root@DB2 ~]# grep '/bin/bash' /etc/passwd | sort -t: -k3 -n | tail -1 | cut -d: -f1

4、找出/etc/passwd文件中的一位數(shù)或兩位數(shù);

[root@DB2 ~]# grep '\<[0-9][0-9]\?\>' /etc/passwd

[root@DB2 ~]# grep '\<[0-9][0-9]\{0,1\}\>' /etc/passwd

5、顯示/boot/grub/grub.conf中以至少一個(gè)空白字符開頭的行;

[root@DB2 ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf

6、顯示/etc/rc.d/rc.sysinit文件中,以#開頭,后面跟至少一個(gè)空白字符,而后又有至少一個(gè)非空白字符的行;

[root@DB2 ~]# grep --color '^#[[:space:]]\{1,\}[^[:space:]]\{1,\}' /etc/rc.d/rc.sysinit

7、找出netstat -tan命令執(zhí)行結(jié)果中以'LISTEN'結(jié)尾的行;

[root@DB2 ~]# netstat -tan | grep --color 'LISTEN[[:space:]]*$'

8、添加用戶bash, testbash, basher, nologin(SHELL為/sbin/nologin),而找出當(dāng)前系統(tǒng)上其用戶名和默認(rèn)shell相同的用戶;

[root@DB2 ~]# grep --color '^\([[:alnum:]]\{1,\}\):.*\1$' /etc/passwd

9、擴(kuò)展題:新建一個(gè)文本文件,假設(shè)有如下內(nèi)容:

He like his lover.

He love his lover.

He like his liker.

He love his liker.

找出其中最后一個(gè)單詞是由此前某單詞加r構(gòu)成的行。

cat <<EOF> 2.txt

He like his lover.

He love his lover.

He like his liker.

He love his liker.

EOF

[root@DB2 ~]# grep --color '\(l..e\).*\1r' 2.txt

文本搜索利器:grep egrep fgrep

練習(xí):使用擴(kuò)展的正則表達(dá)式

10、顯示當(dāng)前系統(tǒng)上root、bin或halt用戶的默認(rèn)shell;

[root@Oracle ~]# grep -E "^(root|bin|halt):" /etc/passwd | cut -d: -f7文本搜索利器:grep egrep fgrep

11、找出/etc/rc.d/init.d/functions文件中某單詞后跟一組小括號“()”行;

[root@Oracle ~]# grep -E -o "\<[[:alnum:]]+\>\(\)" /etc/rc.d/init.d/functions

文本搜索利器:grep egrep fgrep

12、使用echo命令輸出一個(gè)路徑,而后使用grep取出其基名;

echo "/etc/sysconfig/" | grep -o -E "[[:alnum:]]+/?"

[root@Oracle ~]# echo "/etc/sysconfig/" | grep -o -E "[^/]+/?$" | cut -d/ -f1

sysconfig

[root@Oracle ~]# echo "/etc/sysconfig/" | grep -o -E "[[:alnum:]]+/?"

etc/sysconfig/

13、找出ifconfig命令結(jié)果中的1-255之間的數(shù)字;

[root@Oracle ~]# ifconfig | grep -o -E --color "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"

文本搜索利器:grep egrep fgrep

14、挑戰(zhàn)題:寫一個(gè)模式,能匹配合理的ipv4地址;

cat << EOF > 5.txt

192.168.1.1

127.0.0.1

10.127.5.1

202.96.128.166

202.96.128.255

255.255.255.255

239.0.1.25

240.1.1.1

0.0.0.1

EOF

[root@Oracle ~]# grep -o -E --color "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-3][0-9])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>" 5.txt

文本搜索利器:grep egrep fgrep

 

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:文本搜索利器:grepegrepfgrep-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article10/jhhgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、商城網(wǎng)站、ChatGPT網(wǎng)站維護(hù)、微信小程序、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
岳池县| 宁国市| 普定县| 左云县| 梁山县| 西藏| 天全县| 邛崃市| 兰西县| 普洱| 云林县| 汨罗市| 林甸县| 吉隆县| 宁德市| 织金县| 伊金霍洛旗| 卓尼县| 华容县| 平顺县| 阿坝| 四子王旗| 磴口县| 五家渠市| 阳泉市| 慈利县| 永新县| 镇坪县| 华坪县| 米林县| 祥云县| 威信县| 双江| 姚安县| 雷波县| 盱眙县| 普兰店市| 留坝县| 连城县| 罗源县| 武定县|