FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
michseel2
Posts: 34 Joined: 2007-07-09 23:00
Post
by michseel2 » 2007-07-26 01:33
Hallo,
ich habe in einem Ordner mehrere Unterordner mit Zahlen:
s6:/etc/vservers/vhost5/interfaces# ls -l
total 4
drwxr-xr-x 2 root root 120 2007-07-25 01:54 0
drwxr-xr-x 2 root root 120 2007-07-25 02:10 1
drwxr-xr-x 2 root root 120 2007-07-25 02:10 2
drwxr-xr-x 2 root root 120 2007-07-25 02:10 3
drwxr-xr-x 2 root root 120 2007-07-25 02:10 4
-rw-r--r-- 1 root root 5 2007-07-25 01:54 dev
Mit einem Shellscript muss ich nun die größte Ordnerzahl auslesen und diese um 1 erhöhen. Wie ist das möglich?
Gruß
michseel2
aubergine
Posts: 471 Joined: 2005-09-10 17:52
Location: Frankfurt am Main
Post
by aubergine » 2007-07-26 01:51
Code: Select all
#!/bin/bash
i=0
z=0
while [ $z == 0 ]; do
if [ -d $i ]; then
i=$[$i + 1]
else
z=1
mkdir $i
fi
done
exit 0
aubergine
Posts: 471 Joined: 2005-09-10 17:52
Location: Frankfurt am Main
Post
by aubergine » 2007-07-26 02:10
matzewe01 wrote:
Ich gebe zu, da habe ich die Fragestellung etwas falsch verstanden.
Aber was machst Du, wenn eine Lücke besteht.
0, 1, 3, 4 usw.
Gruss Matthias
Laut dem Post des TO soll numerisch immer um 1 erhöht werden.
Ausnahmen sollte es nicht geben.
Wenn nicht würde ich vor das "mkdir" nochmal eine Abfrage stellen ob "$i + xxxx" existiert. Wenn dem so ist den Zähler um xxxx erhöhen und wieder von neuem anfangen.
michseel2
Posts: 34 Joined: 2007-07-09 23:00
Post
by michseel2 » 2007-07-26 02:27
Vielen dank.
aubergine
Posts: 471 Joined: 2005-09-10 17:52
Location: Frankfurt am Main
Post
by aubergine » 2007-07-26 02:32
matzewe01 wrote:
Ausnahmen sind die Regel.
Wichtig: Wenn es Ausnahmen nicht geben sollte, dann muss man das abprüfen.
Wenn man sich die Fragestellung anschaut...
michseel2 wrote:
Hallo,
ich habe in einem Ordner mehrere Unterordner mit Zahlen:
Zitat:
s6:/etc/vservers/vhost5/interfaces# ls -l
total 4
drwxr-xr-x 2 root root 120 2007-07-25 01:54 0
drwxr-xr-x 2 root root 120 2007-07-25 02:10 1
drwxr-xr-x 2 root root 120 2007-07-25 02:10 2
drwxr-xr-x 2 root root 120 2007-07-25 02:10 3
drwxr-xr-x 2 root root 120 2007-07-25 02:10 4
-rw-r--r-- 1 root root 5 2007-07-25 01:54 dev
Mit einem Shellscript muss ich nun die größte Ordnerzahl auslesen und diese um 1 erhöhen. Wie ist das möglich?
... sind diese 10 Zeilen von mir völlig ausreichend.
Wenn es dir nicht passt, schreib ein neues Script und poste es ;)
michseel2
Posts: 34 Joined: 2007-07-09 23:00
Post
by michseel2 » 2007-07-26 02:37
Die 10 Zeilen von dir waren genau der Ansatz den ich gesucht habe aubergine. Habe das dann noch ein klein wenig erweitert für meinen speziellen Zweck.