Bash Skript mehrere Unterordner auf Inhalt überprüfen?

3 Antworten

Anhaltspunkt (ist schon sooo lange her):

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

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

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

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ß! :)

LINUX bash script Ausgabe in Crontab speichern?

Hallo,

Ich will ein bash script erstellt, in dem man mit Dialog-boxen ein crontab hinzufügen kann. Jetzt wollte ich wissen, wo ich die eingaben speichern kann, also dass die variablen etc. in die crontab-datei bzw. wo sich diese befindet. Das Skript ist schon fast fertig bis auf diesen Befehl. zum Beispiel:

date=15

echo "$date * * * * *" >> /"Pfad"

jetzt soll er "15 * * * * *" in die crontab schreiben. wo befindet sich der Pfad für die Crontabs?^^

danke für jede Antwort!

...zur Frage

Wie kann ich mit CMS prüfen ob ein Ordner leer ist?

ich möchte gerne prüfen ob in einem Ordner Dateien oder Unterordner sind deswegen einmal mit /A:-d für Dateien und einmal /A:d für Ordner aber wenn ich die Batch datei starte zeigt der mir immer an das ein Unterordner vorhanden ist.

ich Bitte um Hilfe?

@echo on

Set "testdir=C:_Prog_Data\CMD\KI\Test2"

Set "testdir2=C:_Prog_Data\CMD\KI\Test2"

Set "status=nul"

Set "status2=nul"

if exist "%testdir%" dir /B /A:-d "%testdir%">nul 2>nul || Set status=leer

if exist "%testdir%" dir /B /A:-d "%testdir%">nul 2>nul && Set status=Nleer

if exist "%testdir2%" dir /B /A:d "%testdir2%">nul 2>nul || Set status2=leer

if exist "%testdir2%" dir /B /A:d "%testdir2%">nul 2>nul && Set status2=Nleer

echo Datei :%status%

echo Ordner:%status2%

If "%status%;%status2%" == "leer;leer" echo %testdir% ist leer

If %status% == Nleer echo %testdir% ist nicht leer

If %status2% == Nleer echo %testdir% ist nicht leer

pause

...zur Frage

Bash Skript mit ja antworten?

Huhu....

Kann man einem Befehl (rpi-update) ein “j“ übergeben bei fragen obwohl es keine eingebaute Möglichkeit bietet? Also wenn ich ein Skript starte mit rpi-update dann kommt das Skript nie zum Ende da der Befehl auf ein h oder n wartet.... Kann.man das irgendwie umgehen bzw gibt es eine Möglichkeit eine Antwort zu senden?

Vielen Dank

...zur Frage

Bash: Ausgabe von find mit echo. Wie funktioniert Zeilenumbruch nach jeder Datei?

Ich möchte in meinem Bash-Skript mit find nach Dateien suchen und diese mit echo ausgeben. Folgende Zeile funktioniert:

echo find $1 -size +$2c

Dabei steht im ersten Parameter der Verzeichnisname, im zweiten die Größe der Dateien.

Jetzt hängt echo die Dateinamen in einer Zeile aneinander. Kann ich irgendwie einen Zeilenumbruch nach jedem Dateinamen einbauen?

...zur Frage

Bash: Datumsvergleich

Ich habe noch eine Frage zur Bash-Skript-Programmierung. Ich habe zwei Dateien, die eine hat mein Skript ermittelt, die andere wurde übergeben. Nun habe ich von beiden Dateien das letzte Änderungsdatum in Variablen gespeichert. Diese Daten möchte ich nun vergleichen, aber mein Ansatz unten funktioniert nicht.

if [[ "$TAGUEBERGABE > $TAG" ]]

then

echo "$NAME"

fi

Oder gibt es vielleicht sogar eine einfachere Möglichkeit herausfinden, welche Datei älter oder jünger ist?

...zur Frage

Was möchtest Du wissen?