Wie man ausführbare Dateien (aka Dateien ohne Erweiterung) nur entfernt / löscht

7

Ich habe ein Verzeichnis src / das viele .cc-Dateien und seine Binärdatei enthält. Zum Beispiel:

%Vor%

In Wirklichkeit gibt es viele .cc- und ausführbare Dateien.

Ich muss diese Binärdateien auf eine globale Weise entfernen, ohne sie aufzulisten alle Dateien. Gibt es eine schnelle und kompakte Möglichkeit, dies zu tun?

Ich habe es versucht:

%Vor%

aber es entfernt alle Dateien einschließlich .cc und .hh Dateien.

Ich kenne diesen Befehl:

%Vor%

aber dann müssen wir noch alle Dateien einzeln auflisten.

    
neversaint 13.05.2009, 06:58
quelle

8 Antworten

16

Sie können

ausführen %Vor%     
kcwu 13.05.2009, 07:05
quelle
16

Hier geht's:

%Vor%

Das grep -v sagt "erlaube nur Dateinamen, die keinen Punkt enthalten", und die xargs rm sagt "dann übergebe die Liste der Dateinamen an rm ".

    
RichieHindle 13.05.2009 07:02
quelle
10

Benutze find . Was Sie wollen, ist das:

%Vor%

Es kann auch alles ohne eine Erweiterung entfernt werden:

%Vor%

Die vorherige Option löscht das Makefile nicht und ist daher zu bevorzugen. Ich denke kcwus Antwort zeigt eine schöne Möglichkeit, das obige mit der Option -delete zu verbessern:

%Vor%

Bearbeiten : Ich benutze GNU findutils find , Version 4.4.0, unter Ubuntu 8.10. Ich war mir nicht bewusst, dass der Schalter -executable so ungewöhnlich ist.

    
Stephan202 13.05.2009 07:03
quelle
5

Ich würde lieber ein sauber Ziel im Makefile wählen. Wahrscheinlich enthält es bereits eine Liste dieser Binärdateien, so dass das Hinzufügen eines sauberen Ziels nicht viel Aufwand erfordert.

    
raimue 13.05.2009 22:14
quelle
3
%Vor%

Korrigierte Version des ersten Befehls von Stephan202.

BEARBEITEN: Versuchen Sie auch:

%Vor%

verwendet das Oktaläquivalent

    
Matthew Flaschen 13.05.2009 07:11
quelle
2

Anstatt -exec rm '{}' \; zu übergeben, kann man -delete arg.

verwenden     
anonymous 13.05.2009 07:06
quelle
2

Verwenden Sie find, um alle Dateien (nicht Ordner) zu entfernen, die keinen Dot-Character enthalten:

%Vor%     
Reuben Peeris 13.05.2009 07:10
quelle
2

Ich schlage vor, zuerst

zu verwenden %Vor%

, um den Namen der übereinstimmenden Dateien anzuzeigen.

und dann ändern Sie die ls-l in rm

%Vor%

Sie können auch eine Bestätigungsaufforderung verwenden, um die Sicherheit zu erhöhen:

%Vor%     
太極者無極而生 13.05.2009 07:12
quelle

Tags und Links