Kako izbrisati sve datoteke osim jedne iz direktorija

izbrišite Linux datoteke

Ponekad vam treba uklonite gotovo sve datoteke iz direktorija, ali želite zadržati jednog ili neke od njih. Kad ih je velik, jedan po jedan dosadan je zadatak. To nije najbolja opcija, postoje načini za olakšavanje rada u Linuxu i odjednom možete eliminirati sve one koji su vam potrebni.

Na primjer, možda ćete htjeti ukloniti samo one koji počinju s određenim imenom ili one koji imaju određeno proširenje itd. Sve što je mogućeU stvari, u drugim prilikama sam već pokazao slične vodiče u LxA. Ovdje možete pratiti upute korak po korak i na jednostavan način moći izbrisati sve one datoteke koje želite, osim onoga što želite spremiti.

I najbolja stvar je to nećete morati instalirati nijedan program, to se lako može učiniti naredbama poput rm i find. Odnosno, programi koji su već unaprijed instalirani na bilo kojem Linux distribucijskom sistemu. I naravno, metoda će se temeljiti na pronalaženju obrazaca i korištenju tih podudaranja za uklanjanje samo onoga što želite.

Pa, kako bi se tamo eliminisalo nekoliko alternativa, Šta su oni…

Uklonite datoteke iz direktorija pomoću rm-a

Pa, da bi koristili rm naredba Da biste eliminirali ono što osjećate, prije nekoliko načina morate prepoznati obrasce:

  • * (lista obrazaca) - odgovara nula ili više pojavljivanja navedenih obrazaca
  • ? (lista obrazaca) - odgovara nuli ili jednoj pojavi navedenih uzoraka
  • + (lista uzoraka) - odgovara jednoj ili više pojava navedenih obrazaca
  • @ (lista uzoraka) - odgovara jednom od navedenih obrazaca
  • ! (lista uzoraka) - odgovara bilo čemu osim jednom od zadatih obrazaca

para aktivirajte extglob Da biste ih koristili, prvo morate izvršiti sljedeću naredbu:

<br data-mce-bogus="1">

shopt -s extglob<br data-mce-bogus="1">

Oko! Ne preciziram ga, ali pretpostavlja se da imate dozvole za obavljanje ovih operacija i da ste unutar tog direktorija kada izvršavate rm naredbu. Budite oprezni s tim, jer ako ga pokrenete na drugi put, na kraju ćete možda izbrisati datoteke koje ne želite. Odnosno, prije izvršavanja ovih naredbi, provjerite jeste li cd unijeli u željeni direktorij.

Sada pomoću rm možete ukloniti sve što želite. Na primjer, izbrišite sve datoteke iz direktorija, osim onih koje odgovaraju imenu «Lxa»:

rm -v !("lxa")

Takođe možete odrediti dva ili više imena koja ne želite izbrisati. Na primjer, da izbjegnete uklanjanje "lxa" i "desdelinux":

 rm -v !("lxa"|"desdelinux") 

Možete izbrisati sve datoteke, minus oni sa produžetkom .mp3. Na primjer:

 rm -v !(*.mp3) 

Na kraju se možete vratiti na onemogućiti extglob:

 shopt -u extglob 

Uklonite datoteke iz direktorija pomoću pronađi

Druga alternativa rm-u je koristite find kako biste uklonili sve što vam se sviđa. Možete koristiti cijev i xargs sa rm-om ili koristiti opciju -delete za pronalaženje. Odnosno, generička sintaksa bi bila:

find /directory/ -type f -not -name 'PATRÓN' -delete
find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}

Na primjer, zamislite da želite izbrišite sve datoteke iz direktorija, osim onih s ekstenzijom .jpg, mogli biste koristiti jednu od ove dvije naredbe, jer obje imaju isti rezultat:

find . -type f -not -name '*.jpg'-delete

find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}

Umjesto toga, ako ste htjeli dodajte neki dodatni uzorak, mogao bi i ti. Na primjer, zamislite da ne želite ukloniti .pdf ili .odt iz direktorija:

find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete

Naravno, to biste mogli učiniti i sa | i xargs kao u prethodnom primjeru. Inače, koristili smo -ne poricati, ali to možete ukloniti da biste učinili pozitivnim, to jest uklonili obrasce podudaranja i ne isključili ih.

Izbrišite datoteke iz direktorija pomoću GLOBIGNORE varijable

Konačno, postoji Druga alternativa za pronalaženje i rm, a koristi varijablu okruženja kako bi ukazao na datoteke koje želite ukloniti ili izuzeti. Na primjer, zamislite da želite izbrisati sve datoteke u direktoriju zvanom Preuzimanja, spremajući datoteke .pdf, .mp3 i .mp4. U tom slučaju možete učiniti sljedeće:

cd Descargas
GLOBIGNORE=*.pdf:*.mp4:.*mp3
rm -v *
unset GLOBIGNORE


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.