Sådan slettes alle filer undtagen en i et bibliotek

slet Linux-filer

Nogle gange har du brug for det fjern næsten alle filer fra et bibliotek, men du vil beholde en eller nogle af dem. Når der er et stort antal af dem, er det en kedelig opgave at gå en efter en. Det er ikke den bedste mulighed, der er måder at gøre arbejdet i Linux meget lettere, og at du kan fjerne alle dem, du har brug for på én gang.

For eksempel vil du måske kun fjerne dem, der starter med et bestemt navn, eller dem, der har en bestemt udvidelse osv. Alt det der er muligtFaktisk ved andre lejligheder har jeg allerede vist lignende tutorials i LxA. Her kan du følge vejledningen trin for trin og på en enkel måde for at kunne slette alle de filer, du ønsker, undtagen hvad du vil gemme.

Og det bedste er det du behøver ikke at installere noget program, det kan gøres let med kommandoer som rm og find. Det vil sige programmer, der allerede er forudinstalleret på enhver Linux-distro. Og selvfølgelig vil metoden være baseret på at finde mønstre og bruge disse matches til kun at fjerne det, du ønsker.

For at eliminere der flere alternativer, Hvad er de…

Fjern filer fra et bibliotek med rm

For at kunne bruge rm-kommando For at eliminere, hvad du har lyst til, skal du vide, før du finder nogle måder at identificere mønstre på:

  • * (mønsterliste) - matcher nul eller flere forekomster af de angivne mønstre
  • ? (mønsterliste) - matcher nul eller en forekomst af de angivne mønstre
  • + (mønsterliste) - matcher en eller flere forekomster af de angivne mønstre
  • @ (mønsterliste) - matcher et af de angivne mønstre
  • ! (mønsterliste) - matcher alt undtagen et af de givne mønstre

til aktiver extglob For at kunne bruge dem skal du først udføre følgende kommando:

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

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

øje! Jeg specificerer det ikke, men det antages, at du har tilladelse til at udføre disse operationer, og at du er inde i den mappe, når du udfører kommandoen rm. Vær forsigtig med dette, for hvis du kører det i en anden sti, kan du ende med at slette filer, som du ikke ønsker. Det vil sige, før du udfører disse kommandoer, skal du sikre dig, at du har indtastet den mappe, du ønsker med cd.

Nu kan du bruge rm til at fjerne hvad du vil. For eksempel, slet alle filer fra et bibliotek undtagen dem, der matcher navnet «Lxa»:

rm -v !("lxa")

Du kan også angive to eller flere navne, som du ikke vil slette. For eksempel for at undgå at fjerne "lxa" og "desdelinux":

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

Du kan slette alle filer, minus dem med udvidelse .mp3. For eksempel:

 rm -v !(*.mp3) 

I slutningen kan du gå tilbage til deaktiver extglob:

 shopt -u extglob 

Fjern filer fra et bibliotek med find

Et andet alternativ til RM er brug find for at fjerne det, du har lyst til. Du kan bruge et rør og xargs med rm eller bruge indstillingen -delete til at finde. Det vil sige, den generiske syntaks ville være:

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

Forestil dig for eksempel, at du vil have slet alle filer i et bibliotek undtagen dem med udvidelsen .jpg, du kan bruge en af ​​disse to kommandoer, da de begge får det samme resultat:

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

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

I stedet, hvis du ville tilføj noget ekstra mønster, det kunne du også. Antag for eksempel, at du hverken vil fjerne .pdf eller .odt fra et bibliotek:

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

Selvfølgelig kan du gøre det samme med | og xargs som i det foregående eksempel. Forresten har vi brugt ikke at benægte men du kan fjerne det for at gøre det positivt, dvs. fjerne de matchende mønstre og ikke udelukke dem.

Slet filer fra et bibliotek ved hjælp af GLOBIGNORE-variablen

Endelig er der Et andet alternativ for at finde og rm, og det bruger en miljøvariabel til at pege på de filer, du vil fjerne eller ekskludere. Forestil dig f.eks., At du vil slette alle filerne i en mappe, der hedder Downloads, og gemme .pdf-, .mp3- og .mp4-filerne. I så fald kan du gøre følgende:

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


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.