Hur man tar bort alla utom en av filerna i en katalog

ta bort Linux-filer

Ibland behöver du ta bort nästan alla filer från en katalog, men du vill behålla en eller några av dem. När det finns ett stort antal av dem är det en tråkig uppgift att gå en efter en. Det är inte det bästa alternativet, det finns sätt att göra arbetet i Linux mycket enklare och att du kan eliminera alla du behöver på en gång.

Du kanske till exempel vill ta bort bara de som börjar med ett visst namn eller de som har ett specifikt tillägg etc. Allt som är möjligtFaktum är att vid andra tillfällen har jag redan visat liknande tutorials i LxA. Här kan du följa handledningen steg för steg och på ett enkelt sätt för att kunna ta bort alla de filer du vill ha, förutom vad du vill spara.

Och det bästa är det du behöver inte installera något program, det kan enkelt göras med kommandon som rm och find. Det vill säga program som redan är förinstallerade på alla Linux-distro. Och naturligtvis kommer metoden att baseras på att hitta mönster och använda dessa matchningar för att ta bort bara det du vill ha.

För att eliminera det flera alternativ, Vad är dem…

Ta bort filer från en katalog med rm

För att kunna använda rm-kommando För att eliminera hur du känner, måste du veta innan du hittar några sätt att identifiera mönster:

  • * (lista över mönster) - matchar noll eller fler förekomster av de angivna mönstren
  • ? (mönsterlista) - matchar noll eller en förekomst av de angivna mönstren
  • + (mönsterlista) - matchar en eller flera förekomster av de angivna mönstren
  • @ (mönsterlista) - matchar ett av de angivna mönstren
  • ! (mönsterlista) - matchar vad som helst utom ett av de givna mönstren

till aktivera extglob För att kunna använda dem måste du först utföra följande kommando:

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

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

öga! Jag specificerar det inte, men det antas att du har behörighet att utföra dessa operationer och att du befinner dig i den katalogen när du kör rm-kommandot. Var försiktig med detta, för om du kör den i en annan sökväg kan du sluta ta bort filer som du inte vill ha. Innan du kör dessa kommandon, se till att du har angett den katalog du vill ha med cd.

Nu kan du använda rm för att ta bort vad du vill. Till exempel, ta bort alla filer från en katalog utom de som matchar namnet «Lxa»:

rm -v !("lxa")

Du kan också ange två eller flera namn som du inte vill radera. För att till exempel undvika att ta bort "lxa" och "desdelinux":

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

Du kan ta bort alla filer, minus de med förlängning .mp3. Till exempel:

 rm -v !(*.mp3) 

I slutet kan du gå tillbaka till inaktivera extglob:

 shopt -u extglob 

Ta bort filer från en katalog med find

Ett annat alternativ till rm är använd hitta för att ta bort vad du vill. Du kan använda ett rör och xargs med rm eller använda alternativet -delete för att hitta. Det vill säga den generiska syntaxen skulle vara:

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

Föreställ dig till exempel att du vill ta bort alla filer i en katalog utom de med tillägget .jpg, du kan använda ett av dessa två kommandon, eftersom de båda får samma resultat:

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

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

Istället, om du ville lägg till lite extra mönsterkan du också. Antag till exempel att du inte vill ta bort .pdf eller .odt från en katalog:

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

Naturligtvis kan du göra detsamma med | och xargs som i föregående exempel. Förresten, vi har använt inte att förneka, men du kan ta bort det för att göra det positivt, det vill säga ta bort matchande mönster och inte utesluta dem.

Radera filer från en katalog med hjälp av GLOBIGNORE-variabeln

Slutligen finns det Ett annat alternativ för att hitta och rm, och det använder en miljövariabel för att peka på filerna du vill ta bort eller utesluta. Tänk dig till exempel att du vill ta bort alla filer i en katalog som heter Nedladdningar och spara .pdf-, .mp3- och .mp4-filerna. I så fall kan du göra följande:

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


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.