GNU/Linux >> Linux Esercitazione >  >> Linux

Rimuovi i file che iniziano con ma non contengono

Sì, puoi utilizzare più di un pattern con find :

$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
     xargs -0 echo rm -fr

(rimuovi il echo se sei soddisfatto del test)

Dovresti aggiungere un -maxdepth 1 predicato subito dopo find se vuoi solo rimuovere i file dalla directory corrente, cioè master-1991 ma nessun subdir/master-1991 .


In bash:

shopt -s extglob
echo rm master-!(2018*)

Rimuovi il echo se sembra corretto.

Quanto sopra utilizza la funzionalità di globbing estesa di bash per confrontare i file che iniziano con master- ma che non hanno 2018 immediatamente successivo, quindi seguito da qualsiasi cosa (* ).


Linux
  1. Come trovare file con il comando fd in Linux

  2. trova e rimuovi i file con spazio usando il comando trova su Linux

  3. Trova tutti i file con nome contenente una stringa

  4. Trova in modo ricorsivo i file con un'estensione specifica

  5. trova i file con gli ACL impostati

Comando Trova Linux con esempi pratici

Trova i file persi con Scalpel

Come rimuovere file con estensione specifica in Linux

Come trovare file con il comando fd in Linux

Come trovare tutti i file che non contengono una stringa di testo?

Tutorial comando trova Linux (con esempi)