Bash Skript mehrere Unterordner auf Inhalt überprüfen?

3 Antworten

Dieses Skript hier macht, was du willst:

#!/bin/bash

start_dir='/opt/dymo'

all_dirs=`find "$start_dir" -maxdepth 1 -type d`
for my_dir in $all_dirs; do
all_files=`find "$my_dir" -maxdepth 1 -type f`

if [ "$all_files" = "" ]; then
echo "$my_dir"
fi
done

Aus deiner Frage ist leider nicht ersichtlich, ob du nur eine Ebene von Unterverzeichnissen überprüfen willst, oder rekursiv alle darin Enthaltenen.

Falls du dir eine rekursive Suche wünschst, ändere einfach den ersten (NUR den ersten!) "maxdepth" Parameter von 1 auf eine höhere Zahl oder entferne den Parameter komplett.

Viel Spaß! :)

Anhaltspunkt (ist schon sooo lange her):

ls unterordner/* unterordner1/* unterordner2/* | wc

ergibt 0 oder die Anzahl der gefundenen Dateien, damit solltest Du weiter kommen

N4noBot 
Fragesteller
 19.10.2015, 15:12

Jau vielen dank ! Das war der Anstoß den ich brauchte :)!

0
├── /
│   ├── /Unterodner 1/
│   │ └── /Unterodner 1/test.pdf
│   └── /Unterordner 2/
│   ├──
│   ├──
│   └──
├── /Unterordner 2/
├── /Unterordner 3/
│   └── /Unterordner 3/test1.pdf
├── /Unterordner 4/
│   └── /Unterordner 4/Unterordner 4a/
│      ├── test2.pdf
│      ├── test3.pdf
│ └── test4.pdf
Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102