首页 > 解决方案 > 在子目录中查找不包含文件的主目录名称

问题描述

我有三个文件夹作为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我需要一个作为输出的命令

标签: linuxshellcommand

解决方案


像下面这样的东西应该做你需要的:

for f in test*/dir1/ 
do 
  [[ $(find "$f" -name "file.txt") ]] || echo `dirname "$f"`  
done

推荐阅读