linux – 如何在* nix上查找/ grep目录名与“x”匹配而不是“y”的所有路径?
发布时间:2020-12-05 07:13:19 所属栏目:Linux 来源:互联网
导读:我有一个像这样的文件夹结构(这是一个小片段): └── test └── cases └── model ├── client │ ├── socketsTest.coffee ├── server │ └── socketsTest.coffee
|
我有一个像这样的文件夹结构(这是一个小片段): └── test
└── cases
└── model
├── client
│ ├── socketsTest.coffee
├── server
│ └── socketsTest.coffee
└── shared
└── findersTest.coffee
问题是,如何列出以.coffee结尾但在客户端文件夹中不存在的所有路径? 以下命令返回与服务器文件夹中存在的.coffee匹配的所有文件: find test -name "*Test.coffee" | egrep '/*server*/' 但我真正需要的是一个正则表达式,除了客户端文件夹中的内容之外还匹配所有内容. 在* nix上最干净的方法是什么?最终目标是返回不在客户端文件夹中的文件,因此对于上面的树将是: $<find files except those a client folder> test/cases/model/server/socketsTest.coffee test/cases/model/shared/findersTest.coffee 我尝试过这样的事情,但没有运气: find test -name "*Test.coffee" | egrep '*model/[^client]*' 解决方法您可以使用-prune操作忽略目录. -o表示“或”,因此将其读作“如果它被命名为客户端修剪它,否则打印名为* .coffee的文件”.find test -name client -prune -o -name '*.coffee' -print 或者你可以使用双重测试,它更容易阅读,但效率稍低,因为它会递归到客户端/目录,而第一个完全避免它们. find test -name '*.coffee' ! -wholename '*/client/*' (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在同一个Linux目录中有几百个或几千个文件可以(性能方面)吗
- chmod以数字形式改变文件权限
- linux – 将给定文件的第一个字母转换为小写
- LINUX学习:Ubuntu下搜狗拼音输入法打不出汉字的解决方法
- 是否可以让cmake构建文件(CMakeLists.txt)不在CLion的root中
- Hazelcast服务器作为linux服务
- 8 Pratical Examples of Linux “Touch” Command--referen
- zsh完成差异
- linux – 在Ubuntu服务器12.04.4上编译Node.js v0.11.12-re
- c – 如何以编程方式获取linux中设备/分区的uuid?
推荐文章
站长推荐
热点阅读
