linux - 在子目录中查找不包含文件的主目录名称
问题描述
我有三个文件夹作为test1, test2,test3
. 在这三个文件夹下,我有两个共同的文件夹dir1,dir2
。上述三个父文件夹中的每一个都将这两个作为子文件夹。我将在任一父目录中拥有一个文本文件 ( file.txt
) 。dir1
如果子文件夹file.txt
中不存在,是否有 find 或 grep 单行命令来获取父目录名称作为输出?dir1
例子:
ls test1
o/p: dir1, dir2
ls test2
o/p: dir1/file.txt,dir2
ls test3
o/p: dir1/file.txt,dir2
test1
我需要一个作为输出的命令
解决方案
像下面这样的东西应该做你需要的:
for f in test*/dir1/
do
[[ $(find "$f" -name "file.txt") ]] || echo `dirname "$f"`
done
推荐阅读
- c++ - 具有泛型类的模板
- git - 我应该什么时候使用 git add,在对文件进行更改之前或之后?
- logging - 在 Docker 应用程序中使用 Logback 更改动态日志级别
- javascript - 如何在 javascript 中处理两个 API 调用?
- html - 如何使页脚适合所有屏幕
- twitter - Twitter 应用程序显示代码:89 无效或过期的令牌
- python-3.x - Cupy 索引很慢
- vue.js - 通过 slug 获取页面和页面数据。Strapi 和 Nuxt
- react-native - 警告:道具类型失败:提供给“图像”的道具样式键“0”无效
- c# - REST api - 使用 PATCH 更新特定资源,而不在请求中包含特定资源 ID