Ich habe ein Verzeichnis, das viele Dateien in verschiedenen Formaten enthält. Ich würde gerne wissen, wie ich alle Dateien mit einem bestimmten Format (sagen wir * .dat) löschen kann, außer ein paar Dateien im selben Format (z. B. A.dat und B.dat). Bitte beraten!Löschen Sie alle Dateien außer ein paar mit bash Befehl
Antwort
würde ich ein kleines Skript schreiben (als Kommandozeilen-Einzeiler es etwas zu groß ist):
#!/bin/sh
for f in *.dat; do
case $f in
(A.dat|B.dat)
;; # do nothing
(*)
rm -- "$f";; # remove the file
esac
done
Als Alternative können Sie eine interaktive rm -i *.dat
verwenden, die Sie für jede Datei fragt wenn es entfernt werden sollte. Antwort y
für die Dateien, die Sie nicht mehr benötigen, und n
für A.dat
und B.dat
.
Moderne Shells wie zsh und bash bieten auch leistungsstarke Globbing-Funktionen für Ihr Problem. Ich schlage vor, dass Sie ihre Manualseiten lesen, die Ihnen helfen werden, ein kompetenter Shell-Guru zu werden.
Danke für die Antwort, das funktioniert für mich, aber ich frage mich, ob es ein One-Line-Skript gibt, das das gleiche vorzugsweise tun kann !! –
- 1. alle Spalten außer ein paar Python-Pandas löschen
- 2. Finden Sie Dateien, die Zeichenfolge außer ein paar Ordner enthalten
- 3. R importieren alle außer ein paar Funktionen
- 4. BASH kopiert alle Dateien außer einer
- 5. ASP MVC Autorisieren Sie alle Aktionen außer ein paar
- 6. Zugriff auf alle Ordner außer ein paar diejenigen .htaccess mit
- 7. Bash. Löschen Sie alle Dateien und Verzeichnisse, aber bestimmte
- 8. Löschen Sie alle Tabellen außer einem?
- 9. Windows Befehl Zeile löschen Befehl, um alle Datei außer einem zu löschen
- 10. alle Bots außer ein paar mit Nginx Blocking
- 11. Alle Ordner außer einem löschen
- 12. Script löschen Sie alle Ordner außer
- 13. Bash löschen ältere Dateien
- 14. Löschen aller Dateien außer wenigen
- 15. Finden Sie alle außer einem bestimmten Schlüssel: Wert-Paar Mongo
- 16. BASH-Skript - Löschen Ordner älter als X Tage außer für einige und alle Unterordner/Dateien
- 17. ein Bash-Befehl in den Befehl mv
- 18. Entfernen Sie alle Dateien in einem Verzeichnis außer zwei
- 19. Löschen aller Puffer außer dem ersten mit einem Befehl
- 20. Vim-Befehl löschen Sie alle ausgewählten Linien
- 21. So löschen Sie alle Dateien eines FTP-Ordners mit Batch
- 22. Löschen Sie alle Dateien aus Svn Repository
- 23. Alle Dateien löschen, aber alle Verzeichnisse in einem Bash-Skript behalten?
- 24. Bash: ein Befehl auf alle Dateien mit der Erweiterung ausführen rekursiv
- 25. Python Regex - Ersetzen Sie alle aber ein paar Worte
- 26. Verschieben Sie alle Dateien außer einigen (Dateimuster) von einem DOS-Befehl
- 27. Alle Push-Commits auf ein paar Dateien zurücksetzen
- 28. Löschen Sie alle Dateien in einem Ordner
- 29. Alle Tabellen außer einem in MySql löschen
- 30. identifizieren und löschen Sie alle x64-Architektur-Dateien
Was haben Sie versucht? und wie hast du versagt? – Inian
http://unix.stackexchange.com/a/214410/13792 – choroba