GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come eliminare tutti i file tranne un file denominato da una cartella specifica?

Questa domanda ha già risposte qui :Elimina tutti i file tranne i file con estensione pdf in una directory

(13 risposte)
Chiuso 5 anni fa.

Ecco la situazione.

Ho una directory che contiene molti file con estensioni diverse. Voglio eliminare tutti i file tranne uno con un nome specifico.

Questo può essere fatto facilmente usando la GUI selezionando tutto e premendo ctrl e deselezionando il file in questione.

Questo è esattamente quello che voglio, ma come posso farlo dalla riga di comando?

Ad esempio: dirA contiene i seguenti file:

a.txt
b.txt
c.php
d.html
a.db
b.db
e.html

Voglio eliminare tutti i file mantenendo solo il file denominato a.txt .

Migliore risposta

Sono arrivato con questo semplice comando fantastico:

rm !(a.txt)

Puoi usare ! come una negazione

Prima prova il glob con l'eco, ad es.

echo !(a.txt)

Se non funziona, per bash potrebbe essere necessario abilitarlo con

shopt -s extglob

Se vuoi mantenere entrambi a.txt e b.txt , puoi usare !(a.txt|b.txt) o !([ab].txt) .

Modifica:

per fare rm lavorando in modo ricorsivo basta aggiungere -r come

rm -r !(a.txt)

e inoltre, funziona con la cartella. devi solo cambiare il nome nel nome della directory, come per a_dir

rm -r !(a_dir)

Ubuntu
  1. 3 modi per eliminare tutti i file in una directory tranne uno o pochi file con estensioni

  2. Come eliminare file e directory in Linux dalla riga di comando

  3. Come rimuovere tutti i file in una cartella tranne un file specifico in Linux

  4. Come spostare 100 file da una cartella che ne contiene migliaia?

  5. Come eliminare tutti i file con un'estensione particolare in una cartella particolare?

Come accedere ai file Flash da siti Web in streaming?

Come uccidere tutti i processi tranne uno specifico?

Come accedere ai file di Windows da Ubuntu?

Come eliminare file/cartelle tramite File Manager

Sposta tutti i file tranne uno

Come eliminare tutti i file in una directory tranne alcuni?