GNU/Linux >> Znalost Linux >  >> Ubuntu

Je možné vyloučit některé soubory z Rm -rf?

Tato otázka zde již obsahuje odpovědi :Smazat všechny soubory kromě zadaných souborů/složek pomocí příkazového řádku?

(2 odpovědi)
Jak odstranit všechny soubory kromě jednoho pojmenovaného souboru z konkrétní složky [duplikát]

(5 odpovědí)
Uzavřeno před 2 lety.

Mám adresář, který jsem zaplnil jiným uživatelem, a mám za úkol jej udržovat. Chci smazat veškerý jeho obsah kromě 2 souborů s konkrétním názvem. Je to možné pomocí rm nebo mám udělat toto:

cp aaa/a ./a && cp aaa/b ./b && rm -rf aaa/* && mv ./a aaa/a && mv ./b aaa/b

kde aaa je adresář a,b jsou soubory, které si chci ponechat, a jsou tam (alespoň mohou být) další soubory/adresáře.

Existuje lepší (a kratší) způsob?

Přijatá odpověď:

S bash rozšířenými globy, dané

$ tree aaa
aaa
├── a
├── b
├── c
├── d
├── e
└── subdir

pak

rm -rf aaa/!(a|b)

listy

$ tree aaa
aaa
├── a
└── b

0 directories, 2 files

Ubuntu
  1. Jak vyloučit soubory určité velikosti z kopírování v Linuxu

  2. Obnovení náhodně smazaných souborů?

  3. Upgrade z 32bit na 64bit??

  1. Jak odstraním soubory z koše na Ubuntu?

  2. Debian - mazání tisíců souborů

  3. Jak vyloučit soubory z archivu TAR pomocí regulárních výrazů?

  1. Jak vyloučit některé soubory z mechanismu rozšíření názvu souboru v Bash?

  2. Vyloučit všechny soubory podtržení teček z Rsync?

  3. Jak vyloučit některé uživatele z horní obrazovky Linuxu?