Ich möchte alle Dateien, die in Ordner new-files
aus einem anderen Ordner in Linux mit Bash-Befehlen vorhanden sind.Linux Bash - entfernen Sie alle Dateien, die in einem Verzeichnis aus einem anderen Verzeichnis sind
Ich brauche dies für zwei Dinge:
- ich einige Setup-Skripten bekam die einige vorkonfigurierte Konfigurationsdateien über kopieren. Ich möchte die Möglichkeit haben, diese Dateien wieder
- Manchmal passiert zu entfernen, dass Archive in die Wurzel Ihrer Downloads Verzeichnis entpackt bekommen und nicht in einem subdir, weil die Person, die die Datei alles root zum Archiv setzen Verpackung
Was ist der beste Weg, das zu tun?
bearbeiten, zu klären:
- bekam ich einen Ordner mit
new-files
genannt Dateien. - Jetzt führe ich
cp -r new-files/* other-directory/
aus. - Sagen wir, andere-Verzeichnis ist nicht das Verzeichnis, ich wollte sie kopieren, aber es enthält bereits andere Dateien, so kann ich nicht einfach rm andere-Verzeichnis/* tun.
- Ich muss alle Ordner löschen, die ich versehentlich kopiert habe. Wie mache ich das?
Nice one! Ich würde empfehlen, "-exec" mit dem abschließenden '+' not ';' zu verwenden. Dies ist effektiver, da 'rm' viel seltener aufgerufen wird (ähnlich wie' xargs'). – TrueY
@TrueY Das geht nicht. 'find' löst einen Fehler aus, wenn Sie' + 'verwenden, während' {} 'ein Leerzeichen vorangestellt ist. – aymericbeaumet
Was möchten Sie mit diesem Regex erreichen? Es scheint meinen Befehl zu zerstören, wenn er 'conf.d'-Verzeichnisse und so herausfiltert? – Zulakis