ph033378 发表于 2018-8-22 08:14:39

shell grep

  linux grep命令
  命令本来是ed行编辑器中的一个php?name=%C3%FC%C1%EE" >命令/过滤器:
  g/re/p -- global - regular expression - print.
  基本格式
  grep pattern
  (1)grep 搜索字符串
  (2)grep 正则表达式
  在文件中搜索所有 pattern 出现的位置, pattern 既可以是要搜索的字符串,也可以是一个正则表达式.
  注意:在输入要搜索的字符串时最好使用双引号/而在模式匹配使用正则表达式时,注意使用单引号
  2,grep的选项
  -c 只输出匹配行的计数
  -i 不区分大小写(用于单字符)
  -n 显示匹配的行号
  -v 不显示不包含匹配文本的所以有行
  -s 不显示错误信息
  -E 使用扩展正则表达式
  更多的选项请查看:man grep
  3,常用grep实例
  (1)多个文件查询
  grep "sort" *.doc       #见文件名的匹配
  (2)行匹配:输出匹配行的计数
  grep -c "48" data.doc   #输出文档中含有48字符的行数
  (3)显示匹配行和行数
  grep -n "48" data.doc       #显示所有匹配48的行和行号
  (4)显示非匹配的行
  grep -vn "48" data.doc      #输出所有不包含48的行
  (4)显示非匹配的行
  grep -vn "48" data.doc      #输出所有不包含48的行
  (5)大小写敏感
  grep -i "ab" data.doc       #输出所有含有ab或Ab的字符串的行
  4, 正则表达式的应用
  (1)正则表达式的应用 (注意:最好把正则表达式用单引号括起来)
  grep '.' data.doc      #输出所有含有以2,3或9开头的,并且是两个数字的行
  (2)不匹配测试
  grep '^[^48]' data.doc      #不匹配行首是48的行
  (3)使用扩展模式匹配
  grep -E '219|216' data.doc
  (4) ...
  这需要在实践中不断应用和总结,熟练掌握正则表达式。
  5, 使用类名
  可以使用国际模式匹配的类名:
  [[:upper:]]   
  [[:lower:]]   
  [[:digit:]]   
  [[:alnum:]]   
  [[:space:]]   空格或tab
  [[:alpha:]]   
  (1)使用
  grep '5[[:upper:]][[:upper:]]' data.doc   #查询以5开头以两个大写字母结尾的行
  分类: Linux

页: [1]
查看完整版本: shell grep