Shell-Problem: ls -s? du -h? find -size??
-
- Beiträge: 175
- Registriert: 16.11.2003 19:33:37
- Wohnort: Meisterschwanden, CH
-
Kontaktdaten:
Shell-Problem: ls -s? du -h? find -size??
Ich habe eine Datei, die laut ls -s 2516 Byte gross ist. Nun möchte ich sie mit dem find-Befehl "finden". Das mache ich mit:
find . -iname * -size +2515b
Finde alle Dateien, die Grösser 2515 Byte sind.
Doch er findet nix. Wer kann mir helfen?
find . -iname * -size +2515b
Finde alle Dateien, die Grösser 2515 Byte sind.
Doch er findet nix. Wer kann mir helfen?
Linux- und *BSD-Freaks: http://www.linux-planet.org/
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
savar hat recht - das ist ja sowieso für die katz - damit findest du alles - lower und upper case und mit * alle zeichenketten
das sollte funkt.
du muss evtl. also das verz. anpassen
Code: Alles auswählen
iname *
das sollte funkt.
Code: Alles auswählen
find ./ -size 2516c
Code: Alles auswählen
./
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
ich denke nicht das nötig ist, sondern das er das nicht vor der zahl haben darf.. ich meine gibt es eine Datei mit weniger als 0 byte??
Code: Alles auswählen
./
Code: Alles auswählen
+
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
das mit dem + kann er schon haben - das problem ist nur das er dann ALLES findet das größer ist als die angebene anzahl an bytes - viel spass beim rauspicken per hand!
mit -size 5624c findet er GENAU ein file mit der größe von 5624 byte - kein rauspiken notwendig
zu dem ./ - naja kommt drauf an ob er so ca. weis wo das file sein könnte - nat. kann er dann einschränkungen treffen indem er genauer angibt wo das duslige file ist - ansonsten ./ und fertig
mit -size 5624c findet er GENAU ein file mit der größe von 5624 byte - kein rauspiken notwendig
zu dem ./ - naja kommt drauf an ob er so ca. weis wo das file sein könnte - nat. kann er dann einschränkungen treffen indem er genauer angibt wo das duslige file ist - ansonsten ./ und fertig
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
derSavar hat geschrieben:was ist der Unterschied zwischen "." und "./" ??
Code: Alles auswählen
/
bewirken tun sie das selbe
Code: Alles auswählen
./
scheint sich um eine alias geschichte zu handeln - ist aber gar nicht einmal uninteressant ...
die frage muss also laute wie expandiert die shell die beiden fälle
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
nun definitiv - es gibt keinen unterschiedSavar hat geschrieben:was ist der Unterschied zwischen "." und "./" ??
Code: Alles auswählen
.
Code: Alles auswählen
./
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Code: Alles auswählen
b Blocks a 512 Bytes
c Bytes
k Kilobytes (1024 bytes)
w 2 bytes words
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
?? gibt es dazu auch eine erklärung oder muss ich die kristallkugel holenKBDCALLS hat geschrieben:Code: Alles auswählen
b Blocks a 512 Bytes c Bytes k Kilobytes (1024 bytes) w 2 bytes words
er meint folgendes:
man ls -s:
<schnipp>
-s, --size
Ausgabe der Größe jeder Datei in Blöcken.
<schnapp>
man find:
-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.
[vermutlich bezogen auf den ersten post]
man ls -s:
<schnipp>
-s, --size
Ausgabe der Größe jeder Datei in Blöcken.
<schnapp>
man find:
-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.
[vermutlich bezogen auf den ersten post]
Wenn man Wildcards wie den Stern benutzt, muß man das Argument für -iname in Anführungszeichen setzen, da sonst die Shell den * ersetzt mit den Einträgen des Verzeichnisses.
Also:
findet alles, was mit bla anfängt... und Bla und BLA und...
Man kann den Stern auch durch Voranstellen eines Backslash aus der Shell-Ersetzung rausnehmen:
Also:
Code: Alles auswählen
find . -iname "bla*"
Man kann den Stern auch durch Voranstellen eines Backslash aus der Shell-Ersetzung rausnehmen:
Code: Alles auswählen
find /usr -name \*dies\*