(2 risposte)
Come eliminare tutti i file tranne un file denominato da una cartella specifica [duplicare]
(5 risposte)
Chiuso 2 anni fa.
Ho una directory che viene riempita da un altro utente e ho il compito di mantenerla. Voglio eliminare tutto il suo contenuto tranne 2 file con un nome specifico. È possibile con rm
o dovrei farlo:
cp aaa/a ./a && cp aaa/b ./b && rm -rf aaa/* && mv ./a aaa/a && mv ./b aaa/b
dove aaa
è la directory, a,b
sono i file che voglio conservare e ci sono (almeno, potrebbero esserci) altri file/directory lì dentro.
C'è un modo migliore (e più breve)?
Risposta accettata:
Con bash glob estesi, dato
$ tree aaa
aaa
├── a
├── b
├── c
├── d
├── e
└── subdir
poi
rm -rf aaa/!(a|b)
lascia
$ tree aaa
aaa
├── a
└── b
0 directories, 2 files