首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式获取除当前字典和父字典之外的点文件

正则表达式获取除当前字典和父字典之外的点文件
EN

Stack Overflow用户
提问于 2015-08-25 14:17:23
回答 1查看 141关注 0票数 2

我正在读“Linux如何工作”这本书。作者给出了以下正则表达式,这样我就可以获得除当前目录和父目录之外的所有点文件。(第21页)

代码语言:javascript
复制
.??*
.[^.]*

如果目录中存在任何点文件,那么这两个文件都可以工作。但是当不存在点文件时,只有第一个文件可以工作。

我不能理解他们。你能描述一下我吗?

代码语言:javascript
复制
$ ls -a
. .. .hiding something

$ ls -a | grep .??*
.hiding

$ ls -a | grep .[^.]*
.hiding

$ mv .hiding hiding

$ ls -a | grep .??*

$ ls -a | grep .[^.]*
.
..
hiding
something
EN

回答 1

Stack Overflow用户

发布于 2015-08-25 15:29:07

第一种方法没有实际意义,对我来说也不起作用,而且我也找不到任何关于??的文档。

无论如何,这两个正则表达式都存在两个问题:

  1. 此处的.匹配任何字符。为了只匹配一个点,你必须在它前面放一个表达式,就像\..
  2. The整个表达式可以在行中的任何地方匹配一样。您必须断言匹配是从开头开始的。那么就从^.

开始吧

Try:ls -a | grep '^\.[^.]'这意味着:从行首开始,找到一个点。然后,括号之间没有列出的任何字符(这里的第二个^完成了求反操作),所以不是一个文字点。

在括号中,您不必使用\,尽管您可以使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32196775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档