Globs helpen u: hoe u alle bestanden behalve één verwijdert

Nautilus op Ubuntu

De klodders en pijpen van Unix zijn in veel gevallen erg voordelig als we vanaf de console werken. Jullie hebben allemaal de pijpen gebruikt of de beroemde karakters zoals het jokerteken * gebruikt om namen te vervangen, enz. Welnu, ze zijn zeker ook het probleem tegengekomen dat ze alle bestanden in een map wilden verwijderen behalve een of meer van hen. Als er weinig zijn, is het geen probleem, het kan zelfs gemakkelijk vanuit de grafische modus worden gedaan.

Maar als er veel zijn en wij zijn werken vanaf de console dingen worden een beetje ingewikkelder. Maar dat is alleen omdat we geen middelen hebben, omdat er eenvoudige opties zijn die we kunnen gebruiken om ons te helpen ingewikkelde taken om te zetten in iets heel eenvoudigs. Welnu, in deze eenvoudige tutorial leggen we uit hoe je dat doet door gewoon een eenvoudig symbool te gebruiken ... Makkelijk, toch? Nou, laten we gaan oefenen:

Allereerst ga ik me voorstellen dat we dat hebben gedaan een directory genaamd Foto's waarin we alle .jpeg-afbeeldingsbestanden willen verwijderen die erin staan. Laten we ons voorstellen dat er 100 foto's zijn. En dat we ze allemaal willen verwijderen, behalve één met de naam nat7.jpg. De eerste stap is om naar die map te gaan met behulp van het cd-commando. Bijvoorbeeld:

cd /home/Fotos

Daarna zullen we het commando rm gebruiken zoals we vaak doen als we dat willen verwijderen iets, maar we zullen aangeven dat we alles willen wissen behalve die foto die we willen behouden, hiervoor zullen we het personage gebruiken! zoals dat:

rm -f !(nat7.jpg)

Daarmee weigeren we de verwijdering aan rm, zodat het alles verwijdert behalve het bestand met de naam nat7.jpg. Als je naar de directory gaat en dat doet een vermelding van de inhoud, kunt u verifiëren dat alles behalve de gewenste foto is verwijderd:

ls /home/Fotos

Nu kun je met deze glob spelen om andere dingen te doen, zoals het verwijderen van alle bestanden in een directory behalve mp3-bestanden met! (*. mp3) of ook het opslaan van verschillende bestanden of formaten voor verwijdering, zoals! (nat7.jpg | isa5.jpg) of met! (* . txt | * .mp3). De mogelijkheden zijn legio ... Dit is Unix, dit is Linux!


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Gregory ros zei

    Er is geen dag dat we niets leren! Ondanks het feit dat ik al ongeveer 30 jaar met pc's aan het rommelen ben en bijna 20 met Linux, ben ik niet zo dol op de console, ik geef toe dat het enorm nuttig is, maar ik ben altijd lui geweest als het gaat om het onthouden van opdrachten en het vieren van de overgang naar grafische modus. Ik kende deze optie van de globs helemaal niet en hoewel het voor mij niet moeilijk was om zonder te overleven, moet worden toegegeven dat het er superhandig en praktisch uitziet, bovendien gemakkelijk te begrijpen en toe te passen. Ik let er goed op.
    Bedankt voor een bijdrage waarvan ik ongetwijfeld zeer nuttig zal zijn.

  2.   9acca9 zei

    Hey.
    Heel erg bedankt maar ...
    rm -f! (*. exe)
    bash:!: evenement niet gevonden

    1.    Isaac PE zei

      Hallo,

      Probeer dit te activeren:

      shopt -s extglob; set -H

      En probeer het dan opnieuw:

      rm -f! (*. exe)

      Al het beste! Ik hoop dat het voor jou werkt. En bedankt voor het volgen van ons ...

  3.   miguel zei

    Hallo, ik heb een vraag, ik heb niet twee bestanden tegelijkertijd kunnen opslaan, want als ik het probeer, wordt alles verwijderd, maar als ik het met slechts één doe, kan ik het. wat kan het zijn? Hoe los je het op?