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 weekly
Verzeichnisse 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