2016-06-22 3 views
0

In meinem Software-Build-Prozess, erzeuge ich spezifische Dateien in 2 spezifischen Ordner. Diese zwei spezifischen Ordner befinden sich in einem Repo (z. B. x/y/Ordner1 & x/y/Ordner2). Jetzt, nachdem mein Build-Prozess abgeschlossen ist, sehe ich einige Dateien, die ebenfalls im 'x/y' Ordner erzeugt wurden (zB x/y/file1 & x/y/file2 & ..). Diese Dateien sind irrelevant. Wie kann ich meinen Ordner scannen, nachdem der Erstellungsprozess abgeschlossen ist und alles entfernen (alle Dateien zB x/y/file1 &x/y/file2 & ..) außer x/y/folder1 & x/y/folder2. Ich möchte diesen Prüfpunkt in mein Build-Skript selbst aufnehmen (nachdem der Build-Prozess abgeschlossen ist), um zuerst nach dem relevanten Ordner zu suchen (zB x/y) und alles außer x/y/folder1 & x/y/folder2 zu entfernen ein saubereres Ergebnis.Wie scanne ich einen bestimmten Repos/Ordner in Linux und lösche alles andere, was generiert wird

Ich verwende: Red Hat Enterprise Linux Server Version 5,11

+1

Sie können den Ordner 'find x/y -name '* * verwenden xargs rm -f 'zum Entfernen von Dateien – GMichael

+0

Ausgezeichnet !! können wir auch Ordner (genau wie Dateien) außer dem erwähnten entfernen, Entschuldigung für die dumme Frage, aber gerade in die Welt der Shell gelandet. – Pratul

+0

Ja, Sie können. Setzen Sie einfach die korrekte Namensmaske und ersetzen Sie 'rm -f' durch' rm -rf' – GMichael

Antwort

1

Fund. -Typ f! -path "./folder1/ "! -path "./folder2/" | xargs rm -f

oder diese ID Sie Dateien und Ordner entfernen möchten und halten nur die, die Sie wollen

Fund. ! -path "./folder1/"! -path "./folder2/" -exec rm -rf {} \;

+0

Ausgezeichnet !! können wir auch andere Ordner als die erwähnte entfernen, Entschuldigung für die blöde Frage, aber gerade in die Welt der Shell gelandet. – Pratul

+1

ja du kannst hier ist der Befehl. im Grunde genommen haben wir den Typ f entfernt und den rm Teil des Funds gemacht. "find!! -path" ./folder1/ "! -path" ./folder2/ "-exec rm -rf {} \;" – Hani

Verwandte Themen