金沙糖果派对2015cc 1
grep 'string' *.txt
grep 'main(' *.c
grep '#include<example.h>' *.c
grep 'getChar*' *.c
grep -i 'ultra' *.conf
grep -iR 'ultra' *.conf

2.2、grep正则表明式元字符集(基本集State of Qatar

^  锚定行的始发 如:’^grep’相称全数以grep开首的行。

$  锚定行的告竣 如:’grep$’相称全体以grep结尾的行。

.   相配贰个非换行符的字符 如:’gr.p’相称gr后接多少个自由字符,然后是p。

*  相称零个或八个先前字符 如:’
*grep’相称全部一个或两个空格后紧跟grep的行。 .*二只用代表专擅字符。

[] 相称三个点名范围内的字符,如'[Gg]rep’匹配Grep和grep。

[^] 
相称贰个不在钦命范围内的字符,如:'[^A-FH-Z]rep’相配不含有A-F和H-Z的一个假名初叶,紧跟rep的行。

\(..\State of Qatar  标志匹配字符,如:’\(love\卡塔尔(قطر‎’,love被标志为1。

\<  锚定单词的起头,如:’\

\>  锚定单词的扫尾,如’grep\>’相称包含以grep结尾的单词的行。

x\{m\} 三回九转重复字符x,m次,如:’o\{5\}’相配包涵一而再接二连三5个o的行。

x\{m,\} 三番三遍重复字符x,起码m次,如:’o\{5,\}’相配最少三回九转有5个o的行。

x\{m,n\}
三番三回重复字符x,起码m次,相当少于n次,如:’o\{5,10\}’相配三回九转5–拾三个o的行。

\w 
相称多少个文字和数字字符,也便是[A-Za-z0-9],如:’G\w*p’相配以G后跟零个或多少个文字或数字字符,然后是p。

\W  w的反置格局,相称多少个非单词字符,如点号句号等。\W*则可匹配多个。

\b  单词锁定符,如:
‘\bgrep\b’只相称grep,即只能是grep那一个单词,两侧均为空格。

为查找到的格局展现文件名和行号

你大概须求呈现文件名和行号:

$ grep --color=auto -iRnH 'getChar();' *.c

其中,

  • -n : 在出口的每行前面增添以 1 最初的行号。
  • -H : 为各类相配打字与印刷文件名。要物色多少个文件时那是暗中认可选项。(LCTT
    译注:-h 选项强迫隐藏文件名;此外 -l 和 -L
    选项用于仅呈现相称/不匹配的文书名,而 -H 和
    -h用于调控在展现相称行前显示/不展现文件名,注意区分。)

$grep --color=auto -nH 'DIR' *

输出样例:

金沙糖果派对2015cc 1

图 01: grep 命令展现寻觅到的方式

你也得以采纳 find 命令:

$ find . -name "*.c" -print | xargs grep "main("

2.1、grep命令的相同选取及实例

grep [OPTIONS] PATTERN [FILE…] 
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]

grep命令用于找出由Pattern参数钦命的情势,并将每个相配的行写入标准输出中。这么些格局是有着限制的正则表明式,它们接受ed或
egrep命令样式。如若在File参数中钦命了五个称呼,grep命令将显得包括相称行的公文的名号。对
shell 有特异意义的字符 ($, *, [, |, ^, (, ), \ 卡塔尔 出今后Pattern参数中时必需带双引号。假若Pattern参数不是回顾字符串,常常必须用单引号将总人体模型式括起来。在比如
[a-z], 之类的表达式中,-(减号)cml
可依据当前正在整理的队列来钦点一个范围。收拾类别能够定义等价的类以供在字符范围中使用。若是未内定任何公文,grep会假定为正式输入。

输入以下命令:

2、grep命令

grep (global search regular expression(RE卡塔尔(قطر‎ and print out the
line,全面寻找正则表达式并把行打字与印刷出来State of Qatar是一种强盛的文书寻觅工具,它能利用正则表达式寻找文本,并把相称的行打字与印刷出来。

  • -i : 忽视情势(相称字符串 valid、 VALID、 ValID
    )和输入文件(相配 file.c FILE.c FILE.C)的分寸写。
  • -R : 递归读取各样目录下的有所文件。
  • find命令
    • find命令的貌似格局
    • find命令的常用选项及实例
    • find与xargs
  • grep命令
    • grep命令的貌似方式
    • grep正则表达式元字符集(基本集State of Qatar
    • grep命令的常用选项及实例

其中

1.1、find命令的相仿格局

man文档中付出的find命令的雷同方式为:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…]
[expression]

其实[-H] [-L] [-P] [-D debugopts]
[-Olevel]那多少个筛选并有时用(最少在自身的日常工作中,未有用到过),上面的find命令的常用格局能够简化为:

find [path…] [expression]

path:find命令所查找的目录路线。举个例子用.来代表当前目录,用/来代表系统根目录

expression:expression能够分成——“-options [-print -exec -ok …]”

  • -options,钦赐find命令的常用选项,下节详细介绍
  • -print,find命令将优秀的文件输出到正规输出
  • -exec,find命令对神工鬼斧的文件进行该参数所提交的shell命令。相应命令的情势为’command’
    {  } \;,注意{   }和\;之间的空格
    find ./ -size 0 -exec rm {} \; 删除文件大小为零的文本
    (还足以以如此做:rm -i `find ./ -size 0`  或 find ./ -size 0 |
    xargs rm -f &)
    为了用ls -l命令列出所相配到的公文,能够把ls
    -l命令放在find命令的-exec选项中:find . -type f -exec ls -l {  }
    \;
    在/logs目录中搜寻改良时间在5日早前的文件并删除它们:find /logs -type
    f -mtime +5 -exec rm {  } \;
  • -ok,和-exec的成效相同,只不过以一种特别安全的形式来实践该参数所付出的shell命令,在实行每贰个限令早前,都会提交提醒,让客户来鲜明是或不是进行。
    find . -name “*.conf”  -mtime +5 -ok rm {  } \;
    在当前目录中检索全体文件名以.LOG结尾、改善时间在5日以上的文本,并剔除它们,只但是在剔除早前先交付提示

也许有人这么总括find命令的结构:

find start_directory
      options
      criteria_to_match
      action_to_perform_on_results

您要求利用以下工具:

转载自:

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注