grep是一个用于搜索纯文本数据的命令行工具,它查找与正则表达式匹配的行。如果你将grep这个词分解成g/re/p,那么grep的含义是(全局搜索一个正则表达式并打印),它从文件中搜索模式并将其打印在屏幕上,即标准输出。
如果你的文件中有数千行,并且想要搜索以A-Z
、a-z
和0-9
(字母数字字符)开始的行。
$ grep "^[[:alnum:]]" 11meigui.txt
类似地,如果你想搜索以[A-Z & a-z]
即字母字符开始的行。
$ grep "^[[:alpha:]]" 11meigui.txt
另一个选项是,如果你想搜索以[Tab & Space]
即空白字符开始的行。
$ grep "^[[:blank:]]" 11meigui.txt
grep的数字选项也非常有用,用于搜索以数字[0-9]
即数字字符开始的行。
$ grep "^[[:digit:]]" 11meigui.txt
grep的另一个选项是搜索以小写字母即[a-z]
(小写字母)开始的行。
$ grep "^[[:lower:]]" 11meigui.txt
grep的标点字符用于搜索以[! ” # $ % & ‘ ( ) * + , – . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~. ]即标点字符开始的行。
$ grep "^[[:punct:]]" 11meigui.txt
grep也用于搜索以字母数字和标点字符开始的行,称为图形字符。
$ grep "^[[:graph:]]" 11meigui.txt
类似于图形字符,grep用于搜索以字母数字、标点和空格字符开始的行。
$ grep "^[[:print:]]" 11meigui.txt
grep还有一个功能,可以搜索以[tab, newline, vertical tab, form feed, carriage return, 和空格]即空格字符开始的行。
$ grep "^[[:space:]]" 11meigui.txt
grep的另一个选项也用于搜索以[A-Z]
即大写字母开始的行。
$ grep "^[[:upper:]]" 11meigui.txt
grep搜索以[0-9, A-F 和 a-f]
即十六进制数字开始的行。
$ grep "^[[:xdigit:]]" 11meigui.txt
上面grep的用法可以极大提升查找的效率,掌握之后可以再开发过程中节省很多时间。