十二试Ubuntu-正则表达式

Ubuntu 16.04 LTS发布日期已正式确定_Linux新闻_Linux公社-Linux系统门户网站

Ubuntu 16.04要来了,还是长期稳定版的,又有的玩了。。。


最新闲来无事逛逛知乎,发现大家都推荐windows下一款小工具——everything(Everything Search Engine )。这是一个搜索小工具,针对NTFS格式的磁盘,无论磁盘大小文件大小都可以做到秒搜。而知乎上各位网友推荐这个小工具的时候,不约而同地都提及了支持正则表达式。那么到底什么是正则表达式?

正则表达式是一种符号表示法,被用来识别文本模式。许多命令行工具和大多数的编程语言都支持正则表达式,以此来帮助解决文本操作问题。

如此看来,正则表达式在搜索类软件中有很多应用。

这次介绍的是grep程序(global regular expression print),本质上,grep 程序会在文本文件中查找一个指定的正则表达式,并把匹配行输出到标准输出。

$ ls /usr/bin | grep zip

以上这个命令会列出位于目录/usr/bin 中,文件名中包含子字符串“zip”的所有文件。

grep 程序以如下方式来接受选项和参数:

grep [options] regex [file...]

这里的 regx 是指一个正则表达式。

Option 描述

-i 忽略大小写。不会区分大小写字符。也可用 --ignore-case 来指定。

-v 不匹配。通常,grep 程序会打印包含匹配项的文本行。这个选项导致 grep 程序只会不包含匹配项的文本行。也可用--invert-match 来指定。

-c 打印匹配的数量(或者是不匹配的数目,若指定了 -v 选项),而不是文本行本身。也可用 --count 选项来指定。

-l 打印包含匹配项的文件名,而不是文本行本身,也可用--files-with-matches 选项来指定。

-L 相似于 -l 选项,但是只是打印不包含匹配项的文件名。也可用 --files-without-match 来指定。

-n 在每个匹配行之前打印出其位于文件中的相应行号。也可用--line-number 选项来指定。

-h 应用于多文件搜索,不输出文件名。也可用 --no-filename选项来指定。



以上就是grep软件最基础的应用


附上一个现成的Linux上类似everything的搜索神器:liancheng/found - Python - GitHub


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,270评论 2 33
  • 注:本篇文章只为方便查看,特此保留,如有冒犯,敬请谅解!!! 本文目标 30分钟内让你明白正则表达式是什么,并对它...
    阿杰Alex阅读 1,516评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • zhou鑫阅读 188评论 0 0
  • 马伊琍说: 我能玩得起,也能收得住, 我可以专一到让你惊讶, 也可以花心到让你害怕,我可以像个疯子一样的...
    简大树阅读 600评论 0 0