Как использовать команду ls с CD рекурсивно

У меня есть требование, где я должен проверить вложенную структуру папок.

Исключая: у Меня есть 3 папки: test1, test2, test3 (Практически может быть anynumber таких папок). Теперь все эти папки должны содержать папку как V1, V2... как этот ('V' сопровождаемый числом). Под этой папкой (V1...), должно быть только два имени папок 'dummy1' и 'dummy2'.

Таким образом, все эти проверки должны быть сделаны рекурсивно, пока всем папкам не нравится тест 1... test2... Проверяются.

4
задан 18.04.2011, 13:58

4 ответа

Вы могли использовать команду находки. Найдите рекурсивно вызывает через структуру каталогов, делающую вещи в каждый файл/каталог. Можно ограничить его каталогами с - флаг типа.

find start_dir -type d -print

Для фактической проверки у всех есть структура, я думаю, что Вы оказываетесь перед необходимостью писать сценарий, смотрящий на этот список - и я думаю, что необходимо было бы сделать это в более мощном языке сценариев, чем оболочка, например, жемчуг, Python, рубин, tcl.

3
ответ дан 07.12.2019, 20:24

Другая опция является простой древовидной командой.

Просто сделайте

tree directory/

затем 'проверьте' вывод этого.

1
ответ дан 07.12.2019, 20:24

положительный тест:

find test* -maxdepth 1 -type d -regex ".*/V[0-9]+" 
find test* -mindepth 2 -maxdepth 2 -type d -regex ".*/V[0-9]+/dummy[12]" 

отрицательный тест:

find test* -maxdepth 1 -type d -not -regex ".*/V[0-9]+" 
find test* -mindepth 2 -maxdepth 2 -type d -not -regex ".*/V[0-9]+/dummy[12]" 
1
ответ дан 07.12.2019, 20:24

Попытайтесь использовать ниже команды:

find . -name dummy1 -exec echo "Hello, '{}'" \;
find . -name dummy2 -exec echo "Hello, '{}'" \;

это дает вывод наряду с PWD.

0
ответ дан 07.12.2019, 20:24

Теги

Похожие вопросы