S terminálom: Príklady s príkazom Nájsť

Tu je niekoľko príkladov, ktoré môžeme pri používaní využiť nájsť, príkaz na vyhľadanie súborov alebo priečinkov.

Ak chcete získať pomoc so spustením príkazu, postupujte takto:

man find

na ukončenie manuálu stačí stlačiť kláves [Q] (platí pre akýkoľvek návod).

V nasledujúcich príkladoch bodka (.) After find (find.) Znamená, že hľadáme v priečinku označenom výzvou. Môže byť nahradený ľubovoľnou platnou cestou ako / home /.

Príklady:

Stačí vyhľadať súbory so vzorom.
find . -type f -name "*.deb"

vyhľadať a skopírovať do / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Nájdite súbory Thumbs.db a odstráňte ich.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Vytvorte čistý textový súbor so súbormi md5 v adresári.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Odstráňte nepríjemné priečinky .svn.
find | grep "\.svn$" | xargs rm -fr

Jeden text nahraďte iným.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Nájdite súbory aktualizované až pred dňom.
find /var/log/[a-z]* \*.sql -mtime +1

Generovanie súborov md5sums balíkov DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   riadny dijo

    odstrániť všetky súbory okrem .txt (.txt môže byť čokoľvek)
    Nájsť. ! -name "* .txt" -exec rm {} \;

    vyhľadávať bez zhôd s malými a veľkými písmenami:
    Nájsť. -iname «* foobar *»

    Poznámka: Príkaz -exec nemožno spustiť s parametrom -iname.

  2.   taregon dijo

    Vynikajúce 😉 tento príkaz by mal byť povinný vedieť, skôr ako som sa zľakol možností, ktoré existovali v „človeku“, aby som mohol vyhľadávať, ale keď som mu dal príležitosť, videl som, aký silný je, pokiaľ ide o hľadanie toho, čo som zabudol na mojom pevnom disku 😐

  3.   Hugo dijo

    Vyhľadanie je určite užitočné, najmä pri práci s názvami súborov, ktoré obsahujú medzery a iné neobvyklé znaky. Napríklad si raz pamätám, že neexistoval spôsob, ako by som dokázal komprimovať množinu adresárov, kým mi nenapadlo použiť find s xargs (ktorý je mimochodom oveľa rýchlejší ako -exec) a problém bol vyriešený.

    Ďalším z mojich preferovaných použití príkazu find je rekurzívna zmena povolení:


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

  4.   elektrón222 dijo

    Zaujímavé ^ _ ^

    1.    KZKG ^ Gaara dijo

      Ako cool vyzerá ikona Čakra hahahahahaha 😀

      1.    INCI Ingredients dijo

        Mageia chýba 🙂

        1.    KZKG ^ Gaara dijo

          Áno, správne 😀
          Práve teraz vychádzam z tohto hehehehe. Dakujem 🙂

          1.    lesterzón dijo

            A jeden pre moju distribúciu ...

  5.   archer dijo

    Vďaka, príkazy veľmi užitočné, pochybujem, že si pamätám, že v Ubuntu som kedysi použil príkaz locate, je to nejaký alias nálezu alebo ...

    1.    Hugo dijo

      Negatívny. lokalizovať, premiestniť y štrbina sú ďalšie vyhľadávacie príkazy, ktoré sa na rozdiel od nájsť, používajú databázu, ktorú je potrebné pravidelne aktualizovať príkazom aktualizovanéb.

      Oba typy príkazov majú svoje použitie. Ja napríklad zvyčajne používam aktualizovanéb nasleduje premiestniťvyhľadať, keď naozaj chcem nájsť niečo rýchle v adresári s množstvom údajov, o ktorých viem, že sa neaktualizujú príliš často (napríklad balík v úložisku), a nájsť keď chcem urobiť niečo zložitejšie ako spojiť výsledky vyhľadávania s iným príkazom, alebo keď jednoducho nechcem generovať databázu, pretože viem, že adresár, v ktorom budem hľadať, neobsahuje príliš veľa informácií.

      1.    archer dijo

        Ďakujem pekne Hugo, vynikajúce vysvetlenie, môžem iba povedať, aký silný je terminál v gnu / linux!

  6.   sandra dijo

    Ahoj, vidím, že toto je stará téma, ale dúfam, že mi ešte môžeš pomôcť.

    Učím sa používať regulárny výraz, pretože som videl dokument a hľadám slová chyba alebo zlyhanie a ich deriváty chyby alebo zlyhanie alebo zlyhanie atď. A môj regexp je:
    : / \ (. * \ (chyba | zlyhať \). * \) /
    Pri jeho vykonávaní mi hovorí, že neexistujú žiadne zhody 🙁, ale to
    :/\(.*\(chyba\).*\)/
    o
    : / \ (. * \ (zlyhať \). * \) /
    Ak nájdete zápalky, mohli by ste mi povedať, ako sa mýlim?

    1.    KZKG ^ Gaara dijo

      Aká je plná čiara, ktorú vkladáte?

      Vyskúšať a zistiť, či nájdem riešenie.

      Na druhej strane, ak chcete, môžete skontrolovať tu: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   estéfani dijo

    Pomôžte mi, chcem skopírovať súbory končiace na * _ZFIR0069.TXT na inú cestu a na koniec pridať dátum, robím príkaz:

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

    Ale výsledok je:

    {} _20160225% -> ale skopíruje iba jeden súbor zo všetkých a takto sa premenuje

    Chcem, aby skopíroval všetky súbory a mal tento formát * _ZFIR0069_ $ date .TXT

    Zdravím.

  8.   pepG dijo

    Aký je rozdiel medzi find * -type d a find / home / pepe -type d? Chcem uviesť zoznam adresárov môjho účtu a nerozumiem tomu, prečo to prvý robí správne a druhý nie. pomôcť

  9.   kaike dijo

    Ako nájdem súbory, ktoré sa končia číslami? Ďakujem