2016-10-16 2 views
0

Ich bin sehr neu im Bash-Scripting.In Bash, wie man die Eigenschaften einer Datei liest?

Ich muss ein Bash-Skript machen, das schließlich Dateien von einem Verzeichnis in ein anderes Verzeichnis kopiert.

Das Zielverzeichnis für alle Dateien muss jedoch nicht für alle Dateien im Quellverzeichnis identisch sein. Wenn das Zielverzeichnis nicht existiert, muss es erstellt werden. Der Name des neuen Verzeichnisses hängt vom Erstellungsdatum der betreffenden Datei ab. Das Format des Verzeichnisnamens lautet YYYY_MM_DD.

Daher muss ich die Eigenschaften der Datei lesen und dann überprüfen, ob das Zielverzeichnis existiert. Wenn nicht, dann erstellen Sie das Verzeichnis und kopieren Sie die Datei. Wenn es existiert, kopieren Sie die Datei. Wie kann ich die Eigenschaften einer Datei lesen? Wie kann ich ein neues Verzeichnis im Format YYYY_MM_DD erstellen? Wie kann ich überprüfen, ob das Verzeichnis bereits existiert?

Um das Zielverzeichnis zu kennen, muss das Skript die Eigenschaften jeder Datei im Quellverzeichnis über eine Schleife lesen. Wie kann ich die Dateien in einem Verzeichnis durchlaufen?

Habe ich mich klar gemacht? Wenn nicht, fragen Sie mich nach weiteren Informationen.

Vielen Dank.

Carlos Wiesemann

+0

Aber meistens ist die Erstellungszeit einer Datei nicht bekannt. Um die Erstellungszeit herauszufinden, können Sie stat verwenden (Wie folgt: stat --format "% W" ) –

+0

Alle Ihre Fragen haben Antworten, wenn Sie danach suchen. Hast du selbst etwas probiert oder willst du nur, dass jemand das Drehbuch für dich schreibt? –

+0

Wie ich schon sagte, ich bin neu im Bash-Scripting. Ich möchte es lernen. Und natürlich möchte ich das Skript selbst schreiben. Aber manchmal braucht jemand Hilfe. Und ich glaube, dass diese Website der richtige Ort für solche Fragen ist. Es tut mir leid, wenn ich Sie mit meinen Fragen beleidigt habe. – wieseman

Antwort

0

Um das Datum der letzten Änderung Datei in einem Verzeichnis über eine Schleife zu lesen

ls | stat --format "%n - %y" * 

oder, wenn Sie nicht den Befehl ls mögen, wie Cyrus sugested, entfernen Sie es ;-)

stat --format "%n - %y" * 
+1

Ich schlage vor, 'ls |' zu entfernen. – Cyrus

Verwandte Themen