Els globs t'ajuden: com esborrar tots els fitxers excepte un

Nautilus a Ubuntu

Els globs i les pipes d'Unix són molt beneficioses en molts casos quan treballem des de la consola. Tots vostès hauran fet servir les canonades o hauran fet servir els famosos caràcters com el comodí * per substituir noms, etc. Doncs bé, segur que també s'hauran trobat amb el problema de voler esborrar tots els fitxers d'un directori excepte un o diversos d'ells. Si hi ha pocs no és un problema, es pot fer fàcilment fins i tot des de la manera gràfic.

Però si hi ha moltíssims i estem treballant des de la consola la cosa es complica una mica més. Però això és només per no tenir recursos, ja que hi ha opcions senzilles que podem explotar perquè ens ajudin que tasques complicades es transformin en alguna cosa d'allò més senzill. Doncs bé, en aquest senzill tutorial us expliquem com poder fer això només usant un simple símbol ... Fàcil, oi? Doncs anem a passar a la pràctica:

El primer, jo vaig a imaginar que tenim un directori anomenat Fotos al que volem esborrar tots els fitxers d'imatges .jpeg que hi ha al seu interior. Anem a imaginar que hi ha 100 fotos. I que les volem a eliminar totes excepte una d'elles que es diu nat7.jpg. El primer pas és dirigir-nos fins a dit directori amb ajuda de la comanda cd. Per exemple:

cd /home/Fotos

Després farem servir la comanda rm com fem freqüentment cunado volem esborrar alguna cosa, però li indicarem que volem esborrar-ho tot menys aquesta foto que volem conservar, per a això farem servir el caràcter! tal que així:

rm -f !(nat7.jpg)

Amb això li estem negant l'esborrat a rm perquè esborri tot excepte el fitxer anomenat nat7.jpg. Si et dirigeixes a directori i fas un llistat de l'contingut, podràs comprovar que efectivament s'ha esborrat tot menys la foto desitjada:

ls /home/Fotos

Ara pots jugar amb aquest globus per fer altres coses, com ara esborrar tots els fitxers d'un directori menys els de MP3 amb! (*. mp3) o també salvar de l'esborrat a diversos fitxers o formats com per exemple amb! (nat7.jpg | isa5.jpg) o amb! (*. txt | * .mp3). Les possibilitats són moltes ... Això és Unix, això és Linux!


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

4 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Gregorio Ros va dir

    No hi ha dia que no aprenguem alguna cosa !. Tot i que porto uns 30 anys trastejant amb els PC i gairebé 20 per Linux no sóc molt donat a la consola, reconec que és tremendament útil, però sempre he estat mandrós a l'hora de memoritzar comandaments i celebri el pas a la manera gràfica. No coneixia per a res aquesta opció dels globs i encara que no em va ser difícil sobreviure sense ella cal concedir-li que pinta super útil i practica, a més a fàcil d'entendre i d'aplicar. Tom bona nota.
    Gràcies per una aportació que no dubto em serà molt útil.

  2.   9acca9 va dir

    Hola.
    Moltes gràcies però ...
    rm -f! (*. exe)
    bash:!: event not found

    1.    Isaac PE va dir

      Hola,

      Prova a activar això:

      shopt -s extglob; setembre -H

      I després intenta de nou:

      rm -f! (*. exe)

      Una salutació! Espero que et funcioni. I gràcies per seguir-nos ...

  3.   miguel va dir

    Hola tinc un dubte, no he pogut salvar dos arxius alhora perquè quan ho intento s'esborra tot, però quan ho faig sol amb un si puc. a què es pot deure? com solucionar-ho?