潇洒紫焰 发表于 2015-8-20 14:35:35

lamp学习一:linux命令使用

  呵呵,没有看linux之前就听几个好友说过很好用,今天用了才知道确实的用起来真的很不错。
  首先,看看grep的两个方面:
  定义:
  global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
  工作原理:
  grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
  ,以下是自己网上搜刮下来的:
  ^
  行的开始 如:'^grep'匹配所有以grep开始的行。如果是要匹配行中的以某个单词开头的可以考虑使用:'grep>\' *,
  $
  行的结尾 如:'grep$'匹配所有以grep结尾的行。 如果是要匹配行中的以某个单词结尾的可以考虑使用:'\<grep' *,
  .
  匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
  ?
  匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。
  +
  匹配一个或多个先前的字符。如:'+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等
  *
  匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。
  []
  匹配一个指定范围内的字符,如'rep'匹配Grep和grep。或者可以采用: grep rep| rep
  [^]
  匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
  (..)
  标记匹配字符,如'(indentity)',indentity被标记为1。
  \< 和 \>
  分别标注单词的开始与结尾。如
  grep* 会匹配 ‘Batman’、‘manic’、‘man’等,
   grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
   grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
  x{m}
  重复字符x,m次,如:'0{5}'匹配包含5个o的行。
  x{m,}
  重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
  x{m,n}
  重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。
  w
  匹配文字和数字字符,也就是,如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
  W
  w的反置形式,匹配一个或多个非单词字符,如点号句号等.
  -n,--line-number
  在匹配的行前面打印行号。
  -s,--silent
  不显示关于不存在或者无法读取文件的错误信息。
  -v,--revert-match
  反检索,只显示不匹配的行。
  -w,--word-regexp
  如果被<和>引用,就把表达式做为一个单词搜索。
  -V,--version
  显示软件版本信息。
  还有以下的部分:
  grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
   grep -l pattern files :只列出匹配的文件名,
   grep -L pattern files :列出不匹配的文件名,
   grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
页: [1]
查看完整版本: lamp学习一:linux命令使用