Me terminalin: Shembuj me komandën Find

Këtu janë disa shembuj që mund të përfitojmë kur i përdorim Gjej, një komandë për të kërkuar skedarë ose dosje.

Për të marrë ndihmë për ekzekutimin e komandës:

man find

për të lënë manualin, thjesht shtypni butonin [Q] (e vlefshme për çdo manual).

Në shembujt vijues periudha (.) Pas gjeni (gjeni.) Do të thotë se po kërkojmë në dosjen e treguar nga prompt. Mund të zëvendësohet për çdo rrugë të vlefshme si / shtëpi /.

shembuj:

Thjesht kërkoni për skedarë me një model.
find . -type f -name "*.deb"

gjeni dhe kopjoni në / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Gjeni skedarët Thumbs.db dhe fshini ato.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Krijoni një skedar teksti të pastër me skedarët md5 në direktori.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Fshi dosjet e bezdisshme .svn.
find | grep "\.svn$" | xargs rm -fr

Zëvendëso një tekst me një tjetër.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Gjeni skedarët e azhurnuar deri një ditë më parë.
find /var/log/[a-z]* \*.sql -mtime +1

Për të gjeneruar skedarët md5sums nga paketat DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   i duhur dijo

    fshini të gjithë skedarët përveç .txt (padyshim .txt mund të jetë gjithçka)
    Gjej. ! -emri "* .txt" -exec rm {} \;

    kërko pa ndeshje të pandjeshme me shkronja të mëdha:
    Gjej. -iname «* foobar *»

    Vërejtje: komanda -exec nuk mund të ekzekutohet me parametrin -iname.

  2.   targoni dijo

    E shkëlqyeshme 😉 kjo komandë duhet të jetë e detyrueshme të dihet, para se të trembesha nga opsionet që ekzistonin tek 'njeriu' për të qenë në gjendje të bëja kërkime, por duke i dhënë mundësinë mund të shihja se sa i fuqishëm është kur bëhet fjalë për të gjetur atë që kam harruar në hard diskun tim

  3.   Hugo dijo

    Find është sigurisht i dobishëm, veçanërisht për trajtimin e emrave të skedarëve që përfshijnë hapësira dhe karaktere të tjerë të pazakontë. Për shembull, më kujtohet një herë që nuk kishte asnjë mënyrë që të arrija të kompresoja një sërë drejtorish, derisa të më shkonte në mendje të përdorja find me xargs (e cila është shumë më e shpejtë se -exec nga rruga), dhe problemi i zgjidhur.

    Një tjetër nga përdorimet e mia të preferuara për komandën find është të ndryshoj në mënyrë rekursive lejet:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   elektron222 dijo

    Interesante ^ _ ^

    1.    KZKG ^ Gaara dijo

      Sa e ftohtë duket ikona e Chakra-së hahahahahaha

      1.    sieg84 dijo

        Mageia mungon

        1.    KZKG ^ Gaara dijo

          Po mirë 😀
          Tani për tani e vë veten në funksion të kësaj hehehehe. Faleminderit

          1.    lesterzone dijo

            Dhe një për distro tim ...

  5.   Archero dijo

    Faleminderit, komandat janë shumë të dobishme, kam një dyshim që mbaj mend që në Ubuntu kam përdorur një herë komandën locale, a është ndonjë pseudonim i gjetjes apo ...?

    1.    Hugo dijo

      Negative. gjetur, mlocate y ngatërroj janë komanda të tjera kërkimi që ndryshe nga gjej, ata përdorin një bazë të dhënash që duhet azhurnuar në mënyrë periodike me komandën azhurnuarb.

      Të dy llojet e komandave kanë përdorimet e tyre. Unë për shembull zakonisht përdor azhurnuarb Ndjekido de mlocatelokalizoj kur unë vërtet dua të gjej diçka të shpejtë në një direktori me shumë të dhëna që unë di që nuk azhurnohen shumë shpesh (për shembull, një paketë në një depo) dhe gjej kur dua të bëj diçka më komplekse si kombinimi i rezultateve të kërkimit me një komandë tjetër, ose kur thjesht nuk dua të krijoj bazën e të dhënave sepse e di që direktoria në të cilën do të kërkoj nuk përmban shumë informacion.

      1.    Archero dijo

        Faleminderit shumë Hugo, shpjegim i shkëlqyeshëm, mund të them vetëm se sa i fuqishëm është terminali në gnu / linux!

  6.   Sandra dijo

    Përshëndetje, e shoh që kjo është një temë e vjetër, por shpresoj që ju përsëri mund të më ndihmoni.

    Unë jam duke mësuar të përdor regexp pasi që pashë një dokument dhe po kërkoj fjalët gabim ose dështim dhe gabimet e derivateve të tyre ose dështuar ose dështim etj dhe regexp im është:
    : / \ (. * \ (gabim | dështoj \). * \) /
    Kur e ekzekuton atë, ajo më tregon se nuk ka ndeshje 🙁 por për të
    : / \ (. * \ (gabim \). * \) /
    o
    : / \ (. * \ (dështoj \). * \) /
    Nëse gjeni ndeshje, mund të më tregoni se si jam gabim?

    1.    KZKG ^ Gaara dijo

      Cila është linja e plotë që po vendosni?

      Për të provuar dhe parë nëse e gjej zgjidhjen.

      Nga ana tjetër, gjithsesi nëse dëshironi mund të kontrolloni këtu: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   estefani dijo

    Ju lutem më ndihmoni, unë dua të kopjoj skedarët që përfundojnë me * _ZFIR0069.TXT në një rrugë tjetër dhe të shtoj një datë në fund, po bëj një komandë:

    data = $ (data + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ data \;

    Por rezultati është:

    {} _20160225% -> por kopjon vetëm një skedar të të gjithëve dhe riemërohet në atë mënyrë

    Ajo që dua është që ai të kopjojë të gjitha skedarët dhe të ketë këtë format * _ZFIR0069_ $ data .TXT

    Përshëndetje.

  8.   pepG dijo

    Cili është ndryshimi midis find * -type d dhe find / home / pepe -type d? Unë dua të rendis direktoritë e llogarisë time dhe nuk e kuptoj pse i pari e bën atë siç duhet dhe i dyti jo. ndihmë për të

  9.   kaike dijo

    Si mund të gjej skedarë që përfundojnë në numër? Faleminderit