
Ich muss alle Dateien in einem Verzeichnis löschen, die im Jahr 2018 erstellt wurden. Welchen Befehl kann ich dafür verwenden?
Antwort1
Option verwenden find
-newermt
:
find /path/to/directory -type f -newermt 2018-01-01 ! -newermt 2019-01-01 -print
oder zum weniger Nachdenken:
y=2018
find /path/to/directory -type f -newermt $y-01-01 ! -newermt $((y+1))-01-01 -print
Ändern Sie -print
es zu -delete
, wenn Sie mit dem Ergebnis zufrieden sind.
Antwort2
Ein Skript wie dieses:
DIR="$1"
for f in "$DIR"/*
do
FileDate=$(stat -c %y "$f")
if [[ "${FileDate:0:4}" = "2018" ]] ; then
rm "$f"
fi
done
Rufen Sie das Skript auf und übergeben Sie den Verzeichnisnamen, zBkill2018 /home/me/Documents