Kann ich nur bestimmte Unterverzeichnisse auflisten?

Kann ich nur bestimmte Unterverzeichnisse auflisten?

Ich habe eine Ordnerbaumstruktur wie

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

und ich bin nur hinter allen Dateien in den Wochen- und Tagesverzeichnissen her. Kann ich das mit einem oder mehreren Shell-Befehlen erreichen?

Ich habe es ls -R */weekly/vom obersten Ordner aus versucht, aber es hat nicht funktioniert.

Antwort1

Nun, im obersten Verzeichnis (dem übergeordneten Verzeichnis der Verzeichnisse arndell, claremont, und monte) könnten Sie Folgendes eingeben:

ls */*/{weekly,daily}

Das lässt sich wie folgt erweitern:

ls */*/weekly */*/daily

Dadurch wird Ihnen der Inhalt aller weeklyVerzeichnisse angezeigt daily.

Antwort2

Wenn Sie Bash haben, können Sie Folgendes verwenden:

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

Antwort3

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

verwandte Informationen