Unix Basis Kommandos

P

p_nut

Grünschnabel
Liebe Unix Community!

Ich hatte soeben mein erstes Unixmodul (ich soll mal biomedizinischer Ingenieur werden) und hab als Hausübung einige Fragen zu den Kommandos bekommen.
Bei zwein steh ich an:

Modifikationsdatum einer Datei ändern: Ich hab es mit touch -t Datum Dateiname gemacht. Hat geklappt, aber hab ich damit auch die mtime verändert?

mit touch -m Datum Dateiname hat es nicht funktioniert - da wurde immer eine Datei mit dem Namen "Datum" erstellt (z.B. "01012007").

Zweitens: Ich hab zwei Dateien, (beide heißen datei1.txt, aber in verschiedenen Unterordnern).
Von der einen hab ich die mtime auf Jan 1 gesetzt (sofern der oben beschriebene Weg klappt), die zweite hat feb 15 als mtime. Soweit so gut.

Nun soll ich ein find kommando schreiben, dass nur die jüngere findet (unter ALLEN dateien). Teil eins hab ich gelöst: find -name datei* (da finde ich jetzt beide datei1.txt). Das zweite sollte mit find -mtime 0 gehen.

Wie verbinde ich jetzt die beiden Bedingungen (Syntax?).

find -name datei* | find -mtime 0 klappt jedenfalls nicht

Vielen Dank im Voraus für eure Hilfe.

Lg Pauli
 
Man kann sich die entsprechenden Daten eines Files foo mit stat foo anzeigen lassen. Die Modtime ändert man mit

Code:
touch -m -t "01012007" foo

find kann mit mehreren Tests gestartet werden, welche mit -a (and) oder -o (or) verbunden werden. Wenn man diese weglässt, wird eine and-Verknüpfung angenommen.

In Deinem Fall sieht find also so aus:

Code:
find -name "datei*" -mtime 0

Gruß, Daniel
 
Jetzt klappt's

Dankeschön für die ausführliche Antwort!

Ist es generell so, dass man Options in alphabetischer Reihenfolge hintereinanderschaltet? also touch -m -t ? Weil umgekehrt ist es nicht gegangen.
 
Die Reihenfolge ist egal. Dass es bei Dir nicht gegangen ist, liegt daran, dass "01012007" zur Option -t gehört. Mehr dazu in man touch.

Die man-Page ist generell eine sehr gute Sache, wenn man einen Befehl und seine Optionen nicht kennt. Es gibt zu fast jedem Befehl eine man-Page.
 
Dankschön!

Da hab ich die timedateformats vermischt. Ok jetzt geb ich an Frieden. Danke und frohes Programmieren.
 

Ähnliche Themen

Dateien nach Datum finden

[Tcl / Shell] Ändern einer Datei per vi - Änderungsdatum einer Datei erfassen

Zurück
Oben