无码人妻精品一区二区蜜桃在线看,人妻无码中文字幕免费视频蜜桃,无码人妻精品一区二区蜜桃色欲,蜜桃AV色偷偷AV老熟女,久久人妻少妇嫩草AV蜜桃漫画,又爽又黄A片免费观看直播蜜桃,欧美性猛交XXXX乱大交蜜桃,色欲AV永久无码精品无码蜜桃,蜜桃一区二区三区,WWW.17C嫩嫩草色视频蜜桃,亚洲精品久久久蜜桃

12個(gè) Linux 中 grep 命令的(de)超級用(yòng™♠₹)法實例

2018-03-06 14:36

 

grep是(shì)每個(gè)Linux發行(xíng)版都∑☆♦©(dōu)預裝的(de)一(yī)個(gè)&♥δ強有(yǒu)力的(de)文(wén)件(®£jiàn)模式搜索工(gōng)具。無論何種原因,如(rú)≥✘果你(nǐ)的(de)系統沒有(yǒu)預裝它的(de)話(huà),你(nǐ≥∑δ£)可(kě)以很(hěn)容易的(de)通(tōng)過系統的(de)δγ包管理(lǐ)器(qì)來(lái)安裝它(Debian/Ubuntu系中的₩  (de)apt-get和(hé)RHEl/C​↔entOS/Fedora系中的(de)yum)。

 

$ sudo apt-get install grep #←≥Debian/Ubuntu $ sudo yum ÷αinstall grep #RHEL/CentOS/Fedora

 

我發現(xiàn)使用(yòng)現(xiàn)實世界中的(de)真實例"£≠>子(zǐ)讓你(nǐ)投身(shēn)其中是(sh∞ σ¥ì)讓你(nǐ)接觸grep命令的(de)最容易方式。

 

1.搜索和(hé)尋找文(wén)件(jiàn)

 

假設你(nǐ)已經在你(nǐ)的(de)電(diàn)腦(nǎo)上(sh♦©​÷àng)安裝了(le)一(yī)個(gè)全新的(de)Ubun≥∑tu,然後你(nǐ)打算(suàn)卸載Python。你(nǐ)浏覽網頁尋找÷'教程,但(dàn)是(shì)你(nǐ)發現(xiλ™©àn)存在兩個(gè)不(bù)同版本的(de)Python在使用σδ'(yòng),而你(nǐ)不(bù)知(zhī)道(dào)你(nǐ)的(de®↔ε)Ubuntu安裝器(qì)到(dào)底在≤'☆你(nǐ)的(de)系統中安裝了(le)哪個(gè)版α✘¥本的(de)Python,也(yě)不(bù)知(zhδφī)道(dào)它安裝了(le)哪些(xiē)模塊。解決這(zhè)個(gè ¥)煩惱隻需簡單的(de)運行(xíng)以下(xià)命令 ∑∏♦:

 

 $ sudo dpkg -l ☆®| grep -i python

 

輸出例子(zǐ)

 

   ii &n₽♥bsp;python2.7   ↔✔✘ε;     &nb←♥σsp;2.7.3-0ubuntu3.4 Interactive&nb®→β≤sp;high-level object-orien≤‌★€ted language (version&nbsε∞& p;2.7)

   ii &nα‍λπbsp;python2.7-minimal&nbs↔π​p;2.7.3-0ubuntu3.4 Mi©‍♥nimal subset of the Python γ​&Ωlanguage (version&nbs↔↓¥§p;2.7)

   ii&nγ bsp; python-openssl&nb" ÷sp;   0.12-±§✘&1ubuntu2.1  Pyt≠  σhon wrapper around the Open​♥ ∏SSL library

   ii  python-p§÷§am    ∏≤'   &n β★bsp;0.4.2-12.2ubuntu4 σ✔♣$A Python interface&nbs¶©✘ p;to the PAM library

 

首先,我們運行(xíng)dpkg -l列出你(nǐ)系統•♣上(shàng)安裝的(de).deb包。接著(zhe),我們使Ω•€用(yòng)管道(dào)将輸出結果傳輸給命令g£±γ★rep -i python,這(zhè)一(yī)步可(>®≠≈kě)以簡單解釋為(wèi)把結果傳輸給grep然後€→過濾出所有(yǒu)含有(yǒu)pytho♠♥n的(de)項,并返回結果。–i選項用(y"πòng)于忽略大(dà)小(xiǎo)寫,因為(σΩwèi) grep 是(shì)大(dà)小(xiǎo)寫敏感​"•的(de)。使用(yòng)選項-i是(shì)個(gè)好(>←✔hǎo)習(xí)慣,除非你(nǐ)打算(suàn)進行(xíng)更細節的γ₩φ§(de)搜索。

 

2.搜索和(hé)過濾文(wén)件(jiàΩ€n)

 

grep還(hái)可(kě)以在一(yī)個(gè)或多(duō)個(gè♥>)文(wén)件(jiàn)裡(lǐ)用(yòng)于搜索和(hé)過 α'濾。讓我們來(lái)看(kàn)一(yī)個(gè)這(zh×φè)樣的(de)情景:

 

你(nǐ)的(de)Apache網頁服務器(qì)出現(xiàn)了(‍< le)問(wèn)題,你(nǐ)不(bù)得(d ♥e)不(bù)從(cóng)許多(duō)專業(yè)網∑¥☆γ站(zhàn)裡(lǐ)找一(yī)個(®♥gè)發帖詢問(wèn)。好(hǎo)心回複→≠​>你(nǐ)的(de)人(rén)讓你(nǐ)粘貼上(shàng)來↕¶(lái)你(nǐ)的(de)/etc/apach$π∞e2/sites-available/default-∑$ ssl文(wén)件(jiàn)內(nèi♣♦→✔)容。假如(rú)你(nǐ)能(néng)移除掉所有(yǒu)的(de)注釋行λ¥∑✘(xíng),那(nà)麽對(duì)你(nǐ),對‌€§§(duì)幫你(nǐ)的(de)人(ré∏>≠©n),以及所有(yǒu)閱讀(dú)該文(wén)件(jiàn)的(←εde)人(rén),不(bù)是(shì)更容易發現(xiàn)問(w​±☆èn)題嗎(ma)?你(nǐ)當然可(kě)以很(hěn)容易的(de)做₹<→Ω(zuò)到(dào)!隻需這(zhè)樣做(zuò)λ₽就(jiù)可(kě)以了(le):

 

 $ sudo grep -v "±≈#" /etc/apache2/sit€∞es-available/default-ssl

 

選項-v是(shì)告訴grep命令反轉✔‌它的(de)輸出結果,意思就(jiù)是(shì)不(bù)輸出 '匹配的(de)項,做(zuò)相(xiàng)反§♣的(de)事(shì),打印出所有(yǒu)不(bù)匹配☆‌≤‍的(de)項。這(zhè)個(gè)例子(zǐ)中,有(yǒu)π→§≈#的(de)是(shì)注釋行(xíng)(譯注:其¶​∑€實這(zhè)個(gè)命令并不(bù)準确,包含“#&rdqu← ★©o;的(de)行(xíng)不(bù)全是(s ™hì)注釋行(xíng)。關于如(rú)何精确匹配注釋行(xíng),可(  ×₽kě)以了(le)解更多(duō)的(de)關于正則表達式的(d∏☆↕e)內(nèi)容。)。

 

3.找出所有(yǒu)的(de)mp3文(wén)件(j₩§£♥iàn)

 

grep命令對(duì)于過濾來(lái)自(zì)于标準輸出的(de)結果✘§​非常有(yǒu)用(yòng)。例如(rú),假設你("σnǐ)的(de)一(yī)個(gè)文(wé>≤n)件(jiàn)夾裡(lǐ)面全是(sh±✘ì)各種格式的(de)音(yīn)樂(yu€↕↕↓è)文(wén)件(jiàn)。你(nǐ)要(yào)找出藝術(♥•£≤shù)家(jiā)jayZ的(de)所有(yǒu)mp3格式的(de)音(y£∑<★īn)樂(yuè)文(wén)件(jiàn),® 裡(lǐ)面也(yě)不(bù)要(yà₽δεo)有(yǒu)任何混合音(yīn)軌。使用(yòng)f₩£ind命令再結合管道(dào)使用(yòng)grep就(jiù)可 $"¥(kě)以完成這(zhè)個(gè)魔法:

 

 $ sudo find . -name ".mp3& ‍quot; | grep -i JayZ | ∞Ω£φgrep -vi "remix"&qu¶☆™ot;

 

在這(zhè)個(gè)例子(zǐ)中,我們使用(yòng)find命令打‍☆✘§印出所有(yǒu)以.mp3為(wèi)後綴名的(de)文(wén)件(jσ↑∞iàn),接著(zhe)将其使用(yòng)管道(dào)傳遞給gr‌ →ep -i過濾和(hé)打印出名字為(wèi)“Ja"ΩyZ”的(de)文(wén)件(jiàn),再使用(yòng)管×✔★₽道(dào)傳送給grep -vi以便過濾掉含有(yǒu)&ldq★ πuo;remix”的(de)項。

 

4.在搜索字符串前面或者後面顯示行(xíng)号

 

另外(wài)兩個(gè)選項是(shì)-A和(hé€♥)-B之間(jiān)的(de)切換,是(β₹​shì)用(yòng)以顯示匹配的(de)行(xíng)以及行(xíng)号,✘≥分(fēn)别控制(zhì)在字符串前或字符串後顯≤∏'♠示的(de)行(xíng)數(shù)。Man頁給出了(le)更加詳細的(de≥₩)解釋,我發現(xiàn)一(yī)個(≈¥↓gè)記憶的(de)小(xiǎo)竅門(mén):-A=afteβ​&®r、-B=before。

 

 $ sudo ifconfig | gr♣≈ ep -A 4 etho $ sudo ifconfig ✔ε| grep -B 2 UP

 

5.在匹配字符串周圍打印出行(xíng)号

 

grep命令的(de)-C選項和(hé)例4中的(de)很(hěnδ≤)相(xiàng)似,不(bù)過打印的(de)并不(bùσγ)是(shì)在匹配字符串的(de)前面或後面的(d←&"e)行(xíng),而是(shì)打印出兩個(gè)方向都(dōu)匹‍✔✔配的(de)行(xíng)(譯注:同上(shàng)面的₩  (de)記憶竅門(mén)一(yī)樣:-Cε∞£=center,以此為(wèi)中心): $ sudo if♠£config | grep -C 2 lo♠←♥

 

6.計(jì)算(suàn)匹配項的(de)數(shù)目

 

這(zhè)個(gè)功能(néng)類&✔¥≠似于将grep輸出的(de)結果用(yòngγ←★↓)管道(dào)傳送給計(jì)數(shù)器(qì)(wc程序)↓÷♦→,grep內(nèi)建的(de)選項可(→÷ >kě)以達到(dào)同樣的(de)目的(de):

 

$ sudo ifconfig | grep -c inet6

 

7.按給定字符串搜索文(wén)件(jiàn)中匹配的(de)行(xín‌™£≈g)号

 

當你(nǐ)在編譯出錯(cuò)時(shí)需要ε♣→(yào)調試時(shí),grep命令的(de)-n選項是(shì)個☆£‌(gè)非常有(yǒu)用(yòng)的(de)功能(néng)。♥≠它能(néng)告訴你(nǐ)所搜索的(de)內(nèi)容在文↔ε$(wén)件(jiàn)的(de)哪一(yī)行(xíng):♣€™

 

$ sudo grep -n "main" se✔‌ε‍tup.py

 

8.在所有(yǒu)目錄裡(lǐ)遞歸的(de)搜索

 

假若你(nǐ)要(yào)在當前文(wén)件(jiàn)夾裡(™®εφlǐ)搜索一(yī)個(gè)字符串,而當前文(w ∞↕×én)件(jiàn)夾裡(lǐ)又(yòu)有(yǒ♠×u)很(hěn)多(duō)子(zǐ)目錄,你(nǐ)可(kěφ™)以指定一(yī)個(gè)-r選項以便于遞歸的↑₩(de)搜索: $ sudo grep -r “functionδ→∏&” *

 

9.進行(xíng)精确匹配搜索

 

傳遞-w選項給grep命令可(kě)以在字符串中進行(xíng)精确匹配搜索(∞↔∞譯注:包含要(yào)搜索的(de)單詞,而不(bù)是(shì)通‍'(tōng)配)。例如(rú),像下(xià)面這(zhè)樣 ∑↑¥輸入:

 

$ sudo ifconfig | gr✔&←ep -w “RUNNING&rdq φ©↕uo;

 

将打印出含有(yǒu)引号內(nèi)匹配÷®‍×項的(de)行(xíng)。另外(wài),你(nǐ)還(hái)可(kě)↑™✘♥以試一(yī)下(xià)這(zhè)個(gè):

 

$ sudo ifconfig | grep -w &ldq£®​uo;RUN”

 

搜索這(zhè)個(gè)匹配項時(shí),若搜索的(d® e)東(dōng)西(xī)裡(lǐ)面沒有(yǒu)φ÷這(zhè)樣的(de)一(yī)個(gè)單獨的(de)單詞,将什∞•φ(shén)麽也(yě)不(bù)會(huì)返回。

 

10.在Gzip壓縮文(wén)件(jiàn)中搜索

 

我們還(hái)要(yào)關注一(yī)下(xià₽ε₹÷)grep的(de)衍生(shēng)應用(yòng)。第一(yī)個(gè)↓§是(shì)zgrep,這(zhè)個(gè)÷♥₽與zcat很(hěn)相(xiàng)似,可(kě)以用(yòng)于g∏β£★zip壓縮過的(de)文(wén)件(jiàn)。它有(yǒu)與grep相'×(xiàng)似的(de)命令選項,使用(yòng)方式也(yě)一(yī)¥λ®樣:

 

$ sudo zgrep -i error /var/log/syslogε£φ≥.2.gz

 

11.在文(wén)件(jiàn)中匹配正則α§表達式

 

egrep是(shì)另一(yī)個(gè)衍生™€★(shēng)應用(yòng),代表著(zhe)“擴展全局正則表₽∞達式”。它可(kě)以識别更多(duō)的(¥€×♣de)正則表達式元字符,例如(rú)at + ? | 和(hé)≥←()。在搜索源代碼文(wén)件(jiàn)時(shí),eg∑ "rep是(shì)一(yī)個(gè)非≈< 常有(yǒu)用(yòng)的(de)工(gōng)具,還(hái)有<₩(yǒu)其他(tā)的(de)一(yī)些(xiē)零碎✔ × 代碼文(wén)件(jiàn)的(de)搜索需要(yào),使得÷¥¥(de)這(zhè)樣的(de)搜索能(néng)力成為(wèi ↑δ)必需。可(kě)以在grep命令中使用(yòng)選項-E•∞©$來(lái)啓用(yòng)它。

 

$ sudo grep -E

 

12.搜索一(yī)個(gè)固定匹配字符串

 

fgrep用(yòng)于在一(yī)個(gèπ )文(wén)件(jiàn)或文(wén)件(jiàn)列表中搜索固φε'₩定樣式的(de)字符串。功能(néng)與grep -F同。fgrep♦ 的(de)一(yī)個(gè)通(tōng)常✔×用(yòng)法為(wèi)傳遞一(yī)個(gè)含有(yΩ‍ǒu)樣式的(de)文(wén)件(jiàn)給它:

 

$ sudo fgrep -f file$ &_full_of_patterns.txt file_t™↕o_search.txt

 

這(zhè)僅僅是(shì)grep命令的(de)™★∞開(kāi)始,你(nǐ)可(kě)能(néng)已經↔®©φ注意到(dào),它對(duì)于實現(xiàn)各種各樣的(§÷∞→de)需求簡直是(shì)太有(yǒu)用(yòng)了(le)。除了(∏☆le)這(zhè)種我們運行(xíng)的(de)這(z• ↑↓hè)種隻有(yǒu)一(yī)行(xíng)的(de)命令,grep ↔↑還(hái)可(kě)以寫成cron任務或者自(zì)動的(de)she✔↓ll腳本去(qù)執行(xíng)。保持好(hǎo)奇心,試驗一(y♣σ♦ī)下(xià)man頁的(de)各個(gè)選項,為(wèi)δ ☆實現(xiàn)你(nǐ)的(de)目的(de)寫出一(≥✘yī)些(xiē)grep表達式吧(ba)。

 

英文(wén):tecmint,翻譯:Linux中國( Ω←guó)/Linux-pdz

linux.cn/article-2250-1.html

 

 

无码人妻精品一区二区蜜桃在线看,人妻无码中文字幕免费视频蜜桃,无码人妻精品一区二区蜜桃色欲,蜜桃AV色偷偷AV老熟女,久久人妻少妇嫩草AV蜜桃漫画,又爽又黄A片免费观看直播蜜桃,欧美性猛交XXXX乱大交蜜桃,色欲AV永久无码精品无码蜜桃,蜜桃一区二区三区,WWW.17C嫩嫩草色视频蜜桃,亚洲精品久久久蜜桃