2017-08-21 17 views
1

Ich habe mehrere Dateien in einem Verzeichnis wie untenWie lösche ich nacheinander eine Datei?

Movie22017-06-14_12:18:01.tmp.mp4 
Movie22017-06-14_12:18:40.tmp.mp4 
Movie22017-06-14_12:19:19.tmp.mp4 
Movie22017-06-14_12:19:58.tmp.mp4 
Movie22017-06-14_12:20:37.tmp.mp4 

Frage ich diese Dateien löschen möchten, aber nicht alle auf einmal. Ich möchte zuerst "Movie22017-06-14_12: 18: 01.tmp.mp4" löschen als 5 Sekunden später löschen "Movie22017-06-14_12: 18: 40.tmp.mp4" und so weiter. Wie kann ich das erreichen? Grundsätzlich zuerst auf Anhieb.

+0

Wo sind die Dateinamen? In einer Datei? –

Antwort

3

könnte Sie Schleife durch alle Dateien in einem Verzeichnis, und dann einen Code auf, die ausgeführt werden, wie der folgenden:

#!/bin/bash 
FILES=/path/to/files/here/* 
for f in $FILES; do 
    echo "Deleting '$f'..." 
    rm -f "$f" 
    sleep 5 
done 

Hinweis: Dies wird brechen, wenn es irgendwelche Leerzeichen im Dateipfad sind

+1

Dies wird unterbrochen, wenn der Pfad in 'FILES' ein Leerzeichen oder ein Zeilenumbruchzeichen enthält. –

+1

Um das Problem zu vermeiden, finden Sie/Pfad/zu/files -type f sortieren | {while read -r f; do rm -f $ f; Schlaf 5; erledigt; } '(Es liegt an Ihnen, die Sortierreihenfolge zu definieren, wenn sie nicht alphabetisch ist) –

+0

Oder nur' für f in '/ Pfad/mit Leerzeichen/here /' * 'oder' mypath = '/ Pfad/mit Leerzeichen'; für f in "$ mypath"/*; Do' –

Verwandte Themen