linux下使用ack進(jìn)行代碼搜索

1切蟋、安裝

2淑掌、ack的使用案例

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

$ ack -w eat

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

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

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

$ ack about --ignore-dir=downloads

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

$ ack --php --group protected

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支持的文件過(guò)濾類(lèi)型啰劲,運(yùn)行:

$ ack --help-type

3. ack 其他參數(shù)詳解

ack可以用來(lái)替代grep 99%的的使用場(chǎng)景
它很智能,只搜索它“認(rèn)識(shí)”的文件
比如:ab.c這中文件檀何,ack是不會(huì)去搜索的

使用-a選項(xiàng)可以搜索所有的文件蝇裤,但
某些文件是永遠(yuǎn)都不會(huì)搜索的(除非在命令行中指定)廷支,比如備份文件。

[no]ignore-dir: ack會(huì)在制定目錄下遞歸搜索文件夾栓辜,如果要忽略搜索某個(gè)文件件恋拍,使用--ignore-dir. 如果不忽略,使用--noignore-dir.

  • -a, --all: 搜索所有文件

  • -C:打印匹配文本前后的N行文字啃憎。-A(after)芝囤,打印匹配文本后面的N行,-B(befor)辛萍,打印匹配文本前面的N行悯姊。

  • -c, --count: 覆蓋正常輸出,打印每個(gè)文件匹配文本的次數(shù)贩毕,沒(méi)有匹配的文件輸出0悯许,可使用-l輸出匹配的文件。

  • --column: 輸出匹配的列辉阶,很少用到先壕。

  • -f: 僅列出來(lái)會(huì)搜索哪些文件,不做真實(shí)的搜索

  • -G REGEXP:僅搜索匹配給定正則的文件

  • -g REGEXP: -f -G REGEXP的縮寫(xiě)

  • -i: ignore case

  • --[no]ignore-dir=xxx: 忽略搜索某個(gè)文件

  • --line=xxx: 只打印匹配文件的某些行谆甜,比如 ack Note . --line=3,4,5,6垃僚,或者--line=3-6

  • -l: 只輸出有匹配的文件

  • -L: 只輸出沒(méi)有匹配的文件

  • -n: 不進(jìn)行文件夾的遞歸搜索

  • --type=TYPE /--type=noTYPE: 指定搜索要包括/排除的文件類(lèi)型,可以使用--TYPE/noTYPE指定规辱。比如搜索java文件: --java, 不搜索python文件: --nopython

  • --type-add TYPE=.EXTENSION[,.EXT2...]: EXTENSION和EXT2為擴(kuò)展名的文件作為type的類(lèi)型的文件谆棺。比如: --type-add python=.ptl,將ptl作為python文件罕袋。下次搜索使用--python時(shí)則會(huì)搜索.ptl文件

  • --type-set TYPE=ext[, ext2....]: 同上改淑,但會(huì)覆蓋原來(lái)的文件類(lèi)型定義

  • -1: 只要搜索到第一次匹配就停止搜索

  • --help=types: 列出文件類(lèi)型對(duì)應(yīng)的擴(kuò)展名

可以使用.ackrc作為ack的配置文件,定義匹配文字的顏色浴讯,新定義文件類(lèi)型和匹配的擴(kuò)展名等朵夏,這樣就不用每次都在命令行中指定了。

  • --type-set=python=.py,.ptl
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榆纽,一起剝皮案震驚了整個(gè)濱河市仰猖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奈籽,老刑警劉巖饥侵,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異唠摹,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)奉瘤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)勾拉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)煮甥,“玉大人,你說(shuō)我怎么就攤上這事藕赞〕芍猓” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵斧蜕,是天一觀的道長(zhǎng)双霍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)批销,這世上最難降的妖魔是什么洒闸? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮均芽,結(jié)果婚禮上丘逸,老公的妹妹穿的比我還像新娘。我一直安慰自己掀宋,他們只是感情好深纲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著劲妙,像睡著了一般湃鹊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镣奋,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天币呵,我揣著相機(jī)與錄音,去河邊找鬼唆途。 笑死富雅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肛搬。 我是一名探鬼主播没佑,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼温赔!你這毒婦竟也來(lái)了蛤奢?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陶贼,失蹤者是張志新(化名)和其女友劉穎啤贩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拜秧,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痹屹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枉氮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片志衍。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡暖庄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出楼肪,到底是詐尸還是另有隱情培廓,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布春叫,位于F島的核電站肩钠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏暂殖。R本人自食惡果不足惜价匠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望央星。 院中可真熱鬧霞怀,春花似錦、人聲如沸莉给。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)颓遏。三九已至徐矩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叁幢,已是汗流浹背滤灯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曼玩,地道東北人鳞骤。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像黍判,于是被迫代替她去往敵國(guó)和親豫尽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容