GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kopieren von Dateien basierend auf dem Änderungsdatum in Linux

Ich würde zuerst die Liste der Dateien zwischenspeichern und eine Schleife verwenden.

find . -mtime -90 -ls >/tmp/copy.todo.txt

Sie können die Liste, wenn sie nicht zu groß ist, mit

lesen
for f in `cat /tmp/copy.todo.txt`;
do echo $f;
done

Hinweis:Die Anführungszeichen um cat... sind Backticks, oft in der oberen linken Ecke der Tastatur.

Sie können dann den Echo-Befehl durch einen Kopierbefehl ersetzen:

for f in `cat /tmp/copy.todo.txt`;
do cp $f /some/directory/
done

Man kann auch das genaue Datum und die Uhrzeit auswählen, außer auf eine bestimmte Anzahl von Tagen zurückzugehen:

cp  `find . -type f -newermt '18 sep 2016 20:05:00'` FOLDER

Das obige kopiert alle Dateien im Verzeichnis, die nach dem 18. September 2016 20:05:00 erstellt wurden, in den FOLDER (drei Monate vor heute :)

Seien Sie vorsichtig mit dem Symbol für den Find-Befehl. Es ist nicht dieses hier:'

Es ist dies, ein Backtick:`

Die Datumsauswahl erfolgt hiermit:'

Wenn Sie Dateien mit Leerzeichen, Zeilenumbrüchen, Tabulatoren oder Platzhaltern in ihren Namen haben, können Sie eine der Lösungen von Stéphane Chazelas verwenden. Der erste ist für GNU und der zweite für GNU oder einige BSDs:

find . -type f -newermt '18 sep 2016 20:05:00' -exec cp -t FOLDER {} +
find . -type f -newermt '18 sep 2016 20:05:00' -exec sh -c 'cp "[email protected]" FOLDER' sh {} +

Verwenden Sie diesen Befehl:

for i in `ls -lrt | grep "jul" | awk '{print $9}' `; do cp $i* /some/folder/; done

Verwenden Sie die -exec Option für find :

find . -mtime -90 -exec cp {} targetdir \;

-exec würde jedes von find zurückgegebene Ergebnis kopieren in das angegebene Verzeichnis (targetdir im obigen Beispiel).


Linux
  1. So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -zeit in Linux

  2. Suchen und sortieren Sie Dateien basierend auf Zugriff, Änderungsdatum und -zeit in Linux

  3. So finden Sie doppelte Dateien in Linux

  4. Linux – Dateien für das aktuelle Datum in Linux abrufen?

  5. Linux:Verwenden von find zum Auffinden von Dateien, die älter als <Datum> sind

So zählen Sie Dateien im Verzeichnis in Linux

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

So finden Sie Dateien anhand ihrer Berechtigungen in Linux

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Finden Sie Text in Dateien unter Linux mit grep