GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere/eliminare solo file eseguibili (ovvero file senza estensione).

puoi correre

find . -perm +100 -type f -delete

Ecco qua:

ls | grep -v "\." | xargs rm

Il grep -v dice "consenti solo nomi di file che non contengono un punto" e il xargs rm dice "quindi passa l'elenco dei nomi dei file a rm ".


Usa il find . Quello che vuoi è questo:

find . -type f -executable -exec rm '{}' \;

Si può anche rimuovere tutto senza un'estensione:

find . -type f -not -iname "*.*" -exec rm '{}' \;

La prima opzione non elimina il Makefile , ed è quindi da preferire. Penso che la risposta di kcwu mostri un bel modo per migliorare quanto sopra usando il -delete opzione :

find . -type f -executable -delete
find . -type f -not -iname "*.*" -delete

Modifica :io uso GNU findutils find , versione 4.4.0, sotto Ubuntu 8.10. Non ero a conoscenza del -executable switch è così raro.


Linux
  1. Come trovare ed eliminare directory e file vuoti in Unix

  2. Come trovare ed eliminare directory e file vuoti in Linux

  3. Come posso elencare solo i file non vuoti usando ls?

  4. Come ottenere solo nomi dal comando find senza percorso

  5. Come trovare solo directory senza sottodirectory?

Come trovare ed eliminare file duplicati in Linux

Come rimuovere file con estensione specifica in Linux

Come eliminare file più vecchi di giorni specificati in Linux

Come trovare file duplicati in Linux e rimuoverli

Come rimuovere/eliminare file in Linux usando il comando rm

Come trovare file in Debian