S terminalom: Primjeri s naredbom Pronađi

Evo nekoliko primjera koje možemo iskoristiti kada koristimo pronaći, naredba za traženje datoteka ili mapa.

Da biste dobili pomoć za naredbu run:

man find

da biste zatvorili priručnik, samo pritisnite tipku [q] (vrijedi za bilo koji priručnik).

U sledećim primerima tačka (.) Nakon pronalaska (pronalaženja.) Znači da tražimo u fascikli označenoj upitom. Može se zamijeniti bilo kojim važećim putem poput / home /.

Primjeri:

Samo potražite datoteke s uzorkom.
find . -type f -name "*.deb"

pronađi i kopiraj na / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Pronađite datoteke Thumbs.db i izbrišite ih.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Stvorite čistu tekstualnu datoteku s md5 datotekama u direktoriju.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Izbrišite dosadne .svn mape.
find | grep "\.svn$" | xargs rm -fr

Zamijenite jedan tekst drugim.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Pronađite datoteke ažurirane do prije jedan dan.
find /var/log/[a-z]* \*.sql -mtime +1

Da biste generirali md5sums datoteke DEB paketa:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   pravi rekao je

    izbrišite sve datoteke osim .txt (očito .txt može biti bilo što)
    pronađi. ! -ime "* .txt" -exec rm {} \;

    pretraga bez podudaranja velikih i malih slova:
    pronađi. -iname «* foobar *»

    Napomena: naredba -exec ne može se pokrenuti s parametrom -iname.

  2.   taregon rekao je

    Izvrsno 😉 ovu naredbu treba biti obavezno znati, prije nego što sam se uplašio opcija koje postoje u „čovjeku“ da bih mogao pretraživati, ali dajući joj priliku mogao sam vidjeti koliko je moćna kada je u pitanju pronalaženje onoga što sam zaboravio na mom tvrdom disku 😐

  3.   hugo rekao je

    Find je svakako koristan, posebno za bavljenje imenima datoteka koja uključuju razmake i druge neobične znakove. Na primjer, sjećam se jednom da nikako nisam uspio komprimirati skup direktorija, dok mi nije palo na pamet da upotrijebim find s xargs (što je usput puno brže od -exec) i riješim problem.

    Još jedna od mojih omiljenih upotreba naredbe find je rekurzivna promjena dozvola:


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

  4.   elektron222 rekao je

    Zanimljivo ^ _ ^

    1.    KZKG ^ Gaara rekao je

      Kako super izgleda ikona Chakra hahahahahaha 😀

      1.    sieg84 rekao je

        Mageia je nestala 🙂

        1.    KZKG ^ Gaara rekao je

          Aha, 😀
          Trenutno sam se stavio u funkciju ovog hehehehe. Hvala 🙂

          1.    lesterzone rekao je

            I jedan za moj distro ...

  5.   Archer rekao je

    Hvala, naredbe su vrlo korisne, sumnjam da se sjećam da sam u Ubuntuu jednom koristio naredbu locate, je li to zamjenski naziv find ili ...?

    1.    hugo rekao je

      Negativno locirati, mlocate y locirati su druge naredbe za pretragu koje su za razliku od pronaći, oni koriste bazu podataka koju treba povremeno ažurirati naredbom ažurirano b.

      Obje vrste naredbi imaju svoju upotrebu. Ja na primjer obično koristim ažurirano b praćeno mlocatelocirati kada stvarno želim pronaći nešto brzo u direktorijumu s puno podataka za koje znam da se ne ažuriraju prečesto (na primjer, paket u spremištu) i pronaći kada želim učiniti nešto složenije, poput kombiniranja rezultata pretraživanja s drugom naredbom, ili kada jednostavno ne želim generirati bazu podataka, jer znam da direktorij u kojem ću pretraživati ​​ne sadrži previše informacija.

      1.    Archer rekao je

        Puno vam hvala Hugo, izvrsno objašnjenje, mogu samo reći koliko je terminal moćan u gnu / linux!

  6.   Sandra rekao je

    Bok, vidim da je ovo stara tema, ali nadam se da mi i dalje možete pomoći.

    Učim koristiti regexp jer sam vidio dokument i tražim riječi greška ili neuspjeh i njihove izvedenice greške ili neuspjeh ili neuspjeh itd. A moj regexp je:
    : / \ (. * \ (greška | neuspjeh \). * \) /
    Kad ga izvršavam, govori mi da nema podudaranja 🙁 osim da
    :/\(.*\(greška\).*\)/
    o
    : / \ (. * \ (neuspjelo \). * \) /
    Ako pronađete podudarnosti, možete li mi reći kako griješim?

    1.    KZKG ^ Gaara rekao je

      Koja je cijela linija koju stavljate?

      Da testiram i vidim da li pronalazim rješenje.

      S druge strane, ionako ako želite možete provjeriti ovdje: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   esthefani rekao je

    Molim vas, pomozite mi, želim kopirati datoteke koje se završavaju sa * _ZFIR0069.TXT na drugu stazu i dodati datum do kraja, radim naredbu:

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

    Ali rezultat je:

    {} _20160225% -> ali kopira samo jednu datoteku od svih i tako se preimenuje

    Ono što želim je da kopira sve datoteke i ima ovaj format * _ZFIR0069_ $ date .TXT

    Pozdrav.

  8.   pepG rekao je

    Koja je razlika između find * -tip d i find / home / pepe-type d? Želim navesti direktorijume svog računa i ne razumijem zašto prvi to radi ispravno, a drugi ne. pomozi

  9.   kaike rekao je

    Kako mogu pronaći datoteke koje se završavaju brojevima? Hvala