Ево неколико примера које можемо искористити када користимо Наћи, наредба за тражење датотека или директоријума.
Да бисте добили помоћ команде рун:
man find
да бисте напустили приручник, само притисните тастер [к] (важи за било који приручник).
У следећим примерима тачка (.) После проналаска (проналаска.) Значи да тражимо у фасцикли означеној упитом. Може се заменити било којим важећим путем као што је / дом /.
Примери:
Само потражите датотеке са узорком.
find . -type f -name "*.deb"
пронађи и копирај на / хоме / пепе /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Пронађите датотеке Тхумбс.дб и избришите их.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Направите чисту текстуалну датотеку са датотекама мд5 у директоријуму.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Избришите досадне .свн фасцикле.
find | grep "\.svn$" | xargs rm -fr
Замените један текст другим.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Пронађите датотеке ажуриране до пре један дан.
find /var/log/[a-z]* \*.sql -mtime +1
Да бисте генерисали мд5сумс датотеке из ДЕБ пакета:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
избришите све датотеке осим .ткт (очигледно .ткт може бити било шта)
наћи. ! -име "* .ткт" -екец рм {} \;
претрага без подударања великих и малих слова:
наћи. -инаме «* фообар *»
Напомена: наредба -екец не може се извршити с параметром -инаме.
Одлично 😉 ову наредбу би требало обавезно знати, пре него што сам се уплашио опција које су постојале у „човеку“ да бих могао да претражујем, али дајући јој прилику могао сам да видим колико је моћна када треба пронаћи оно што сам заборавио на мом чврстом диску 😐
Финд је свакако користан, посебно за бављење именима датотека која укључују размаке и друге необичне знакове. На пример, сећам се једном да никако нисам могао да стиснем скуп директоријума, док ми није пало на памет да користим финд са каргс (што је иначе много брже од -екец), и да је проблем решен.
Још једна од мојих омиљених употреба команде финд је рекурзивна промена дозвола:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Занимљиво ^ _ ^
Како супер изгледа икона Чакра хахахахахаха 😀
Магеиа је нестала 🙂
Да, 😀
Тренутно се заснивам на овом хехехехе. Хвала 🙂
И један за мој дистро ...
Хвала, команде су врло корисне, сумњам да се сећам да сам у Убунтуу једном користио команду лоцате, да ли је то псеудоним финд или ...?
Негативно лоцирати, млоцате y слоцате су друге команде за претрагу које за разлику од наћи, користе базу података коју треба повремено ажурирати наредбом упдатедб.
Обе врсте наредби имају своју употребу. Ја на пример обично користим упдатедб сегуидо де млоцателоцирати када заиста желим да пронађем нешто брзо у директоријуму са пуно података за које знам да се не ажурирају пречесто (на пример, пакет у спремишту) и наћи када желим да урадим нешто сложеније, попут комбиновања резултата претраге са другом командом, или када једноставно не желим да генеришем базу података, јер знам да директоријум у којем ћу претраживати не садржи превише информација.
Хвала вам пуно Хуго, изврсно објашњење, могу само да кажем колико је терминал моћан у гну / линук!
Здраво, видим да је ово стара тема, али надам се да ми и даље можете помоћи.
Учим да користим регекп откако сам видео документ и тражим речи грешка или неуспех и њихове изведенице грешке или неуспех или неуспех итд. А мој регуларни израз је:
: / \ (. * \ (грешка | неуспех \). * \) /
Када га извршавам, каже ми да нема подударања 🙁 већ да
: / \ (. * \ (грешка \). * \) /
o
: / \ (. * \ (неуспешно \). * \) /
Ако нађете подударности, можете ли ми рећи како грешим?
Која је пуна линија коју стављате?
Да тестирам и видим да ли проналазим решење.
С друге стране, у сваком случају ако желите можете проверити овде: https://blog.desdelinux.net/?s=expresiones+regulares
Молим вас, помозите ми, желим копирати датотеке које се завршавају са * _ЗФИР0069.ТКСТ на другу путању и, додајући датум на крају, радим команду:
датум = $ (датум + »% И% м% д%»)
финд / кцом_реп / ФАТФ / екит / 42 -наме * _ЗФИР0069.ТКСТ -екец цп -п {} / бацкуп / ФАТФ / екит / 42 / {} _ $ дате \;
Али резултат је:
{} _20160225% -> али копира само једну датотеку од свих и тако се преименује
Оно што желим је да копира све датотеке и има овај формат * _ЗФИР0069_ $ дате .ТКСТ
Поздрав.
Која је разлика између финд * -типе д и финд / хоме / пепе-типе д? Желим да наведем директоријуме свог налога и не разумем зашто први то ради исправно, а други не. помоћи да се
Како могу да пронађем датотеке које се завршавају бројевима? Хвала