首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印'find‘linux命令找到匹配的目录

问打印'find‘linux命令找到匹配的目录
EN

Stack Overflow用户
提问于 2013-09-25 02:14:44
回答 2查看 9.3K关注 0票数 2

我有一堆目录;其中一些目录包含一个'.todo‘文件。

代码语言:javascript
复制
/storage/BCC9F9D00663A8043F8D73369E920632/.todo
/storage/BAE9BBF30CCEF5210534E875FC80D37E/.todo
/storage/CBB46FF977EE166815A042F3DEEFB865/.todo
/storage/8ABCBF3194F5D7E97E83C4FD042AB8E7/.todo
/storage/9DB9411F403BD282B097CBF06A9687F5/.todo
/storage/99A9BA69543CD48BA4BD59594169BBAC/.todo
/storage/0B6FB65D4E46CBD8A9B1E704CFACC42E/.todo

我希望'find‘命令只打印目录,如下所示

代码语言:javascript
复制
/storage/BCC9F9D00663A8043F8D73369E920632
/storage/BAE9BBF30CCEF5210534E875FC80D37E
/storage/CBB46FF977EE166815A042F3DEEFB865
...

这是我到目前为止所拥有的,但它也列出了'.todo‘文件

代码语言:javascript
复制
#!/bin/bash
STORAGEFOLDER='/storage'
find $STORAGEFOLDER -name .todo  -exec ls -l {} \;

应该是愚蠢愚蠢的,但我放弃了:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-25 02:18:25

要仅打印目录名,请使用-printf '%h\n'。还建议用双等数引用您的变量。

代码语言:javascript
复制
find "$STORAGEFOLDER" -name .todo -printf '%h\n'

如果您想要处理输出:

代码语言:javascript
复制
find "$STORAGEFOLDER" -name .todo -printf '%h\n' | xargs ls -l

或者使用带有进程替换的循环来利用变量:

代码语言:javascript
复制
while read -r DIR; do
    ls -l "$DIR"
done < <(exec find "$STORAGEFOLDER" -name .todo -printf '%h\n')

这个循环实际上一次处理一个目录,而在xargs中,这些目录是一次性传递给ls -l的。

要确保一次只处理一个目录,请添加uniq:

代码语言:javascript
复制
find "$STORAGEFOLDER" -name .todo -printf '%h\n' | uniq | xargs ls -l

或

代码语言:javascript
复制
while read -r DIR; do
    ls -l "$DIR"
done < <(exec find "$STORAGEFOLDER" -name .todo -printf '%h\n' | uniq)

如果您没有bash,并且您不介意在循环外部保留对变量的更改,那么您可以只使用管道:

代码语言:javascript
复制
find "$STORAGEFOLDER" -name .todo -printf '%h\n' | uniq | while read -r DIR; do
    ls -l "$DIR"
done
票数 7
EN

Stack Overflow用户

发布于 2016-06-08 19:53:54

要剥离文件名并只显示它所在的目录,快速而简单的答案是dirname

代码语言:javascript
复制
#!/bin/bash
STORAGEFOLDER='/storage'
find "$STORAGEFOLDER" -name .todo  -exec dirname {} \;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18989034

复制
相关文章

相似问题

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