найти имя основного каталога, который не содержит файл в подкаталоге - PullRequest
0 голосов
/ 13 марта 2019

У меня есть три папки как test1, test2,test3.под этими тремя папками у меня две общие папки dir1,dir2.Каждая из вышеперечисленных трех родительских папок будет иметь эти две подпапки.У меня будет один текстовый файл (file.txt) в dir1 в любом из родительского каталога.

Существует ли однострочная команда find или grep для получения имени родительского каталога в качестве выходного, если file.txtне существует в подпапке dir1?

Пример:

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 голосов
/ 13 марта 2019

что-то вроде ниже должно делать то, что вам нужно:

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