Kako izbrisati sve datoteke osim jedne u direktoriju

izbrisati Linux datoteke

Ponekad trebate 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 koji će vam olakšati rad u Linuxu i odjednom možete ukloniti sve one koji vam trebaju.

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 sam prilikama već pokazao slične vodiče u LxA. Ovdje možete slijediti upute korak po korak i na jednostavan način moći izbrisati sve one datoteke koje želite, osim onoga što želite spremiti.

A 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 sustavu. 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 eliminiralo nekoliko alternativa, Što su oni…

Uklonite datoteke iz direktorija pomoću rm-a

Pa, da bi koristili rm naredba Da biste eliminirali ono što želite, prvo morate znati neke načine kako prepoznati obrasce:

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

u aktivirati 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 specificiram 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 drugim putem, 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đer možete odrediti dva ili više imena koja ne želite izbrisati. Na primjer, da biste izbjegli uklanjanje "lxa" i "desdelinux":

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

Možete izbrisati sve datoteke, minus oni s 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 pretraživača

Druga alternativa rm-u je upotrijebite find kako biste uklonili ono što osjećate. Možete koristiti cijev i xargs s rm, ili upotrijebite opciju -delete za pronalaženje. Odnosno, generička sintaksa bila bi:

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 nastavkom .jpg, mogli biste upotrijebiti jednu od ove dvije naredbe, jer obje dobivaju 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, isto biste mogli učiniti i s | i xargs kao u prethodnom primjeru. Usput, koristili smo -ne poricati, ali to možete ukloniti da biste ga učinili pozitivnim, to jest uklonili obrasce podudaranja i ne isključili ih.

Izbrišite datoteke iz direktorija pomoću varijable GLOBIGNORE

Napokon, 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 svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.