麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > CentOS > 正文

CentOS系統(tǒng)里如何提高文本搜索效率?

2020-07-08 12:47:37
字體:
供稿:網(wǎng)友

  對(duì)于系統(tǒng)管理員或程序員來說,當(dāng)需要在復(fù)雜配置的目錄中或者在大型源碼樹中搜尋特定的文本或模式時(shí),grep類型的工具大概是最受歡迎的。

  如果grep是你最喜歡的工具之一,那么你可能會(huì)更喜歡ack。ack是一個(gè)基于Perl的類似于grep的命令行工具,但是搜索速度更快,能力比grep更強(qiáng)。尤其是當(dāng)你是程序員時(shí),我強(qiáng)烈推薦你使用ack來取代grep。

  ack的用法非常適用與代碼搜索,因此程序員可以在源碼樹中進(jìn)行復(fù)雜的查詢,而只需要更少的按鍵。

  ack的特性

  ack的一些非常強(qiáng)大的特性:

  默認(rèn)搜索當(dāng)前工作目錄

  默認(rèn)遞歸搜索子目錄

  忽略元數(shù)據(jù)目錄,比如.svn,.git,CSV等目錄

  忽略二進(jìn)制文件(比如pdf,image,coredumps)和備份文件(比如foo~,*.swp)

  在搜索結(jié)果中打印行號(hào),有助于找到目標(biāo)代碼

  能搜索特定文件類型(比如Perl,C++,Makefile),該文件類型可以有多種文件后綴

  高亮搜索結(jié)果

  支持Perl的高級(jí)正則表達(dá)式,比grep所使用GNU正則表達(dá)式更有表現(xiàn)力。

  相比于搜索速度,ack總體上比grep更快。ack的速度只要表現(xiàn)在它的內(nèi)置的文件類型過濾器。在搜索過程中,ack維持著認(rèn)可的文件類型的列表,同時(shí)跳過未知或不必要的文件類型。它同樣避免檢查多余的元數(shù)據(jù)目錄。

  在Linux上安裝ack

  盡管在大多數(shù)Linux發(fā)行版中是ack是標(biāo)準(zhǔn)包,可輕易獲得(比如在基于debian的系統(tǒng)中,是ack-grep包,而在基于Redhat的系統(tǒng)中則是ack包),但是與發(fā)行版捆綁的ack版本仍然是1.x,而ack2.0已經(jīng)發(fā)布,而且擁有更多特性。

  因此我準(zhǔn)備在官方網(wǎng)站下載,然后安裝ack。

  方便的是,ack在官網(wǎng)可可作為一個(gè)單獨(dú)的Perl腳本獲得,其中整合了所有需要依賴的模塊。因此,你不需要額外安裝Perl模塊來運(yùn)行這腳本。

  為了在你的Linux系統(tǒng)中安裝ack,去官網(wǎng)下載最新版本的ack。在寫本文時(shí),最新的版本是2.12

  $ wget http://beyondgrep.com/ack-2.12-single-file $ sudo mv ack-2.12-single-file /usr/local/bin/ack $ sudo chmod 0755 /usr/local/bin/ack

  需要注意的是,在基于Debian的系統(tǒng)中,有一個(gè)獨(dú)立的包也叫ack(漢碼轉(zhuǎn)換器)。所以如果你碰巧有使用那個(gè)包,那么你就必須重命名ack來避免命名沖突了。

  ack的使用案例

  1.在當(dāng)前目錄遞歸搜索單詞”eat”,不匹配類似于”feature”或”eating”的字符串:

  $ ack -w eat

  2.搜索有特殊字符的字符串’$path=.’,所有的元字符(比如’$',’.')需要在字面上被匹配:

  $ ack -Q '$path=.' /etc

  3.除了dowloads目錄,在所有目錄搜索”about”單詞:

  $ ack about --ignore-dir=downloads

  4.只搜索包含’protected’單詞的PHP文件,然后通過文件名把搜索結(jié)果整合在一起,打印每個(gè)文件對(duì)應(yīng)的搜索結(jié)果:

  $ ack --php --group protected

ack_1

  5.獲取包含’CFLAG’關(guān)鍵字的Makefile的文件名。文件名為*.mk,makefile,Makefile,GNUmakefile的都在考慮范圍內(nèi):

  $ ack --make -l CFLAG

  6.顯示整個(gè)日志文件時(shí)高亮匹配到的字符串:

  $ tail -f /var/log/syslog | ack --passthru 192.168.1.10

  7.要換取ack支持的文件過濾類型,運(yùn)行:

  $ ack --help-type

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日日操操| 99在线在线视频免费视频观看 | 国产精品高潮99久久久久久久 | 91成人影院 | 国产乱淫a∨片免费视频 | 国产午夜精品久久久久久免费视 | 黄色av网站在线观看 | 久草免费新视频 | 污视频在线看 | a免费视频 | 欧美片一区二区 | 久久国产精品成人免费网站 | 激情小说激情图片激情电影 | 99在线热视频 | 免费一级欧美在线观看视频 | 自拍偷拍亚洲图片 | 伊人久久国产精品 | 精品亚洲午夜久久久久91 | 特色一级黄色片 | 深夜福利视频绿巨人视频在线观看 | 九九视频精品在线 | 久久91久久久久麻豆精品 | 国产成人在线播放视频 | free japan xxxxhdsex69| 性爱视频免费 | 久久精品a一级国产免视看成人 | 一级α片免费看刺激高潮视频 | 91九色福利 | 国产成人高潮免费观看精品 | 毛片在线视频免费观看 | 久久久久99一区二区三区 | 久久69精品久久久久久国产越南 | 羞羞网站 | 成人福利视频在 | 日韩色电影 | 最新中文字幕免费视频 | 免费黄色成人 | 久久久久久久久久久久久久久伊免 | 国产在线中文 | 久久久www成人免费精品 | 黄色高清视频网站 |