Могу ли я перечислить только определенные подкаталоги?

Могу ли я перечислить только определенные подкаталоги?

У меня есть древовидная структура папок, например

arndell
\_databases
  \_daily
  \_weekly
claremont
\_databases
  \_daily
  \_weekly
monte
\_databases
  \_daily
  \_weekly

и я только после всех файлов внутри еженедельных и ежедневных каталогов. Есть ли способ, которым я могу добиться этого с помощью команды или команд оболочки?

Я попробовал ls -R */weekly/из верхней папки, но это не сработало.

решение1

Ну, из верхнего (родительского для каталогов arndell, claremont, и monte) вы можете ввести:

ls */*/{weekly,daily}

Который расширяется до:

ls */*/weekly */*/daily

Что покажет вам содержимое всех каталогов weeklyи daily.

решение2

если у вас есть bash, вы можете использовать:

shopt -s globstar
for f in  **/{daily,weekly}/*; do
  whatever $f
done

решение3

find . '(' -path '*/weekly/*' -o -path '*/daily/*' ')' -type f

Связанный контент