GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere le cartelle con un certo nome

Se la directory di destinazione è vuota, usa find, filtra solo con directory, filtra per nome, esegui rmdir:

find . -type d -name a -exec rmdir {} \;

Se vuoi eliminare ricorsivamente il suo contenuto, sostituisci -exec rmdir {} \; con -delete o -prune -exec rm -rf {} \; . Altre risposte includono dettagli su queste versioni, cita anche loro.


Usa find per il nome "a" ed esegui rm per rimuovere quelli nominati secondo i tuoi desideri, come segue:

find . -name a -exec rm -rf {} \;

Provalo prima usando ls to list:

find . -name a -exec ls {} \;

Per assicurarti che ciò rimuova solo le directory e non i file semplici, usa l'argomento "-type d" (come suggerito nei commenti):

find . -name a -type d -exec rm -rf {} \;

Il "{}" è una sostituzione per ogni file "a" trovato - il comando exec viene eseguito su ognuno per sostituzione.


Anche questo funziona:rimuoverà tutte le cartelle chiamate "a" e il loro contenuto:

rm -rf `find . -type d -name a`

Linux
  1. Come controllare i permessi con il comando trova

  2. Come trovare e rimuovere le foto duplicate in Linux

  3. Come trovare file con un determinato sottopercorso?

  4. Come trovare tutti i file/cartelle con l'autorizzazione 777 in Linux?

  5. Come eliminare un file con un nome strano?

Come trovare applicazioni installate con dimensioni installate in Linux

Come rimuovere file con estensione specifica in Linux

Come trovare file con il comando fd in Linux

Come trovare il nome del processo dal suo PID

Come trovare le cartelle in Linux

Come eliminare più cartelle in parallelo?