在子目录中查找不包含文件的主目录名称

时间:2019-03-13 09:59:31

标签: linux shell command

我有三个文件夹,分别为test1, test2,test3。在这三个文件夹下,我有两个共同的文件夹dir1,dir2。以上三个父文件夹中的每一个都将这两个作为子文件夹。我将在任一父目录的file.txt中有一个文本文件(dir1)。

如果file.txt子文件夹中不存在dir1,是否有一条find或grep单行命令来获取父目录名称作为输出?

示例:

ls test1 o/p: dir1, dir2

ls test2 o/p: dir1/file.txt,dir2

ls test3 o/p: dir1/file.txt,dir2

我需要一个将test1作为输出的命令

1 个答案:

答案 0 :(得分:0)

如下所示应该可以满足您的需求:

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