• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Datein unter 10kb löschen!

Codeman

Newbie
Hallo
also ich hab folgendes prob:
1 Ordner; Bilder über Bilder; blös sind unter den bildern auch thumbnails und die sollen raus!

alle tn sind unter 10kb nun hab ich mir gedacht kann ich per bash die datein löschen die unter 10kb sind!

mit stka hab ich folgendes zusammen gebastelt
find -size 10 -exec rm {} \;

er macht auch was aber ich denk er löscht nur die datein die genau 10kb sind und nicht die drunter also zb 5kb ... usw.

man könnte jetzt ne schleife drumschreiben also ... -size $i oder so und die schleife [for] läuf von 1-10!
aber ich denk das wär ein bissel umständlich oder?

danke im voraus

guten rutsch!

codeman
 

TeXpert

Guru
man find:

Code:
 Tests:
       Alle numerischen Argumente können auf drei Arten angegeben werden:

              + N    steht für alle Zahlen größer als N

              - N    steht für alle Zahlen kleiner als N

              N      steht für genau N
       Alle  Tests  werden  auf  die  Dateien in den angegebenen Verzeichnissen einzeln angewendet.  Die Tests liefern einen Wahrheitswert von 0 (Wahr), wenn der Test
       erfolgreich war.
[...]
       -size N[bckw]
              die Datei belegt N Datenblöcke zu 512 Bytes, bzw. N Bytes, N 2-Byte-Wörtern und N Kilobytes mit nachgestelltem c, w oder k.  Nachgestelltes b entspricht
              der Standardvorgabe von 512-Byte-Blöcken.
 
OP
C

Codeman

Newbie
hallo
also

Code:
find -size -10 -exec rm {} \;

klappt auch nicht er macht zwar auch was aber die bilder unter 10kb sind immernoch da!

ich hab sie mir jetzt einfach na details größe anzeigen lassen und selber gelöscht.

ist aber komisch das es nicht funktioniert hat :roll:

trotzdem vielen dank!
 

TeXpert

Guru
man muss manpages auch richtig lesen:

-size N[bckw]
die Datei belegt N Datenblöcke zu 512 Bytes, bzw. N Bytes, N 2-Byte-Wörtern und N Kilobytes mit nachgestelltem c, w oder k. Nachgestelltes b entspricht
der Standardvorgabe von 512-Byte-Blöcken.

d.h. 10k --> -size -10k

aber ich bin ja nicht so, Beipspiel:

Code:
$ ls -ln
insgesamt 0
$ for i in $(seq 1 15) ; do dd if=/dev/urandom of=${i}k bs=1k count=$i ; done
1+0 Datensätze ein
1+0 Datensätze aus
1024 bytes transferred in 0,011119 seconds (92094 bytes/sec)
2+0 Datensätze ein
2+0 Datensätze aus
2048 bytes transferred in 0,008446 seconds (242484 bytes/sec)
3+0 Datensätze ein
3+0 Datensätze aus
3072 bytes transferred in 0,009516 seconds (322825 bytes/sec)
4+0 Datensätze ein
4+0 Datensätze aus
4096 bytes transferred in 0,009066 seconds (451799 bytes/sec)
5+0 Datensätze ein
5+0 Datensätze aus
5120 bytes transferred in 0,015262 seconds (335472 bytes/sec)
6+0 Datensätze ein
6+0 Datensätze aus
6144 bytes transferred in 0,015343 seconds (400444 bytes/sec)
7+0 Datensätze ein
7+0 Datensätze aus
7168 bytes transferred in 0,015964 seconds (449009 bytes/sec)
8+0 Datensätze ein
8+0 Datensätze aus
8192 bytes transferred in 0,015092 seconds (542807 bytes/sec)
9+0 Datensätze ein
9+0 Datensätze aus
9216 bytes transferred in 0,014866 seconds (619934 bytes/sec)
10+0 Datensätze ein
10+0 Datensätze aus
10240 bytes transferred in 0,014728 seconds (695279 bytes/sec)
11+0 Datensätze ein
11+0 Datensätze aus
11264 bytes transferred in 0,017660 seconds (637828 bytes/sec)
12+0 Datensätze ein
12+0 Datensätze aus
12288 bytes transferred in 0,020983 seconds (585617 bytes/sec)
13+0 Datensätze ein
13+0 Datensätze aus
13312 bytes transferred in 0,017865 seconds (745146 bytes/sec)
14+0 Datensätze ein
14+0 Datensätze aus
14336 bytes transferred in 0,017198 seconds (833584 bytes/sec)
15+0 Datensätze ein
15+0 Datensätze aus
15360 bytes transferred in 0,021173 seconds (725451 bytes/sec)
$ ls -ln
insgesamt 144
-rw-r--r--  1 1000 1000 10240 2005-12-31 14:18 10k
-rw-r--r--  1 1000 1000 11264 2005-12-31 14:18 11k
-rw-r--r--  1 1000 1000 12288 2005-12-31 14:18 12k
-rw-r--r--  1 1000 1000 13312 2005-12-31 14:18 13k
-rw-r--r--  1 1000 1000 14336 2005-12-31 14:18 14k
-rw-r--r--  1 1000 1000 15360 2005-12-31 14:18 15k
-rw-r--r--  1 1000 1000  1024 2005-12-31 14:18 1k
-rw-r--r--  1 1000 1000  2048 2005-12-31 14:18 2k
-rw-r--r--  1 1000 1000  3072 2005-12-31 14:18 3k
-rw-r--r--  1 1000 1000  4096 2005-12-31 14:18 4k
-rw-r--r--  1 1000 1000  5120 2005-12-31 14:18 5k
-rw-r--r--  1 1000 1000  6144 2005-12-31 14:18 6k
-rw-r--r--  1 1000 1000  7168 2005-12-31 14:18 7k
-rw-r--r--  1 1000 1000  8192 2005-12-31 14:18 8k
-rw-r--r--  1 1000 1000  9216 2005-12-31 14:18 9k
$ find -mindepth 1 -size -10k -exec rm {} \;
$ ls -ln
insgesamt 84
-rw-r--r--  1 1000 1000 10240 2005-12-31 14:18 10k
-rw-r--r--  1 1000 1000 11264 2005-12-31 14:18 11k
-rw-r--r--  1 1000 1000 12288 2005-12-31 14:18 12k
-rw-r--r--  1 1000 1000 13312 2005-12-31 14:18 13k
-rw-r--r--  1 1000 1000 14336 2005-12-31 14:18 14k
-rw-r--r--  1 1000 1000 15360 2005-12-31 14:18 15k

das mindepth ist in der manpage erläutert (Stichwort: . und ..) alternativ kann man auch über den type gehen.
 
Oben