in Լինուքս, ՏՏ

Ուբունտու – Ինչպե՞ս որոնել տողը ֆայլերի մեջ։

Դրա համար մի շատ հարմար կոնսոլային հրաման կա։ Եթե չգիտեք կոնսոլը ինչպես կանչել, իմացեք,  մի պարզ ստեղնաշարային հապավում գոյություն ունի։

Ctrl+Shift+T

իսկ հրամանը(ծրագիրը) կոչվում է grep

կոնսոլում գրում եք սենց մի բան

grep -i -n -r 'այն արտահայտությունը որը փնտրում եք'  /ճանապարհ/դեպի/այն/պանակը/որտեղ/պետք/է/որոնել/

պարամետրերն են՝

-i   քեյս ինսենսիթիվ, այսինքն մեծատառը և փոքրատառը համարել նույնական

-n  տպել այն տողի համարը, որտեղ գտնվում է ձեր որոնած արտահայտությունը

-r  փնտրել ռեկուրսիվորեն (չեմ բացատրում, ով գիտի գիտի, իսկ ով ոչ ՝ երևի պետք չի էլ գա)

մանրամասն տեղեկությունների համար դիմել հելփին

grep --help
    • դե հա, կան, բայց կոդի կտորները հրաշալի գտնում է

    • grep-ը ուրիշ հրաման է, more-ը լրիվ ուրիշ, locate-ը և find-ը լրիվ ուրիշ
      grep-ը որոնում է կոնկրետ տեքստ ֆայլի կամ որոշակի տեքստային մուտքի (input) մեջ և վերադարձնում է կոնկրետ համապատասխանող մասը պարունակող տողը:
      more-ը բացում է նշված ֆայլը ու սկզբում ցուցադրում է մեկ screen-ի չափով տրված ֆայլի պարունակությունը հենց տերմինալում, Enter-ի միջոցով դու կարում ես ներքև և տեսնել տեքստի ներքևի պարունակությունը: բացի more-ը կան նաև head, cat, less, tail հրամանները:
      locate-ը և find-ը որոնում են ֆայլեր:
      locate-ը որոնում է ֆայլերը սիստեմայի կողմից կատարված ինդեքսավորման միջոցով, որը շատ անգամ ավելի արագ է, քան find-ը: Այդ ինդեքսավորումը կատարվում է յուրաքանչյուր օրվա վերջում cron – ի միջոցով: Բայց կարելի է նաև այդ ինդեքսավորման տվյալների բազան թարմացել updatedb հրամանի միջոցով:
      Ի տարբերություն locate-ի find-ը ավելի ֆունկցիոնալ է, իսկ արագագործությունը ավելի ցածր է և փնտրումը կատարվում է ռեկուրսիվ(ռեկուրսիվ նշանակում է փնտրել ոչ միայն նշված ճանապարհի դիրեկտորիայում, այլ մտնել այդ դիրեկտորիայի ենթադիրեկտորիաների մեջ նույնպես(եթե կան), այնուհետև ենթա-ների մեջ նույնպես, և այսպես մինչև վերջ): find-ը նաև հնարավորություն է տալիս փնտրում կատարել ոչ միայն ըստ ֆայլի անունի, այլ նաև, ըստ չափի (size), ըստ թույլտվությունների (permission), ըստ user-ի և այլն:

Comments are closed.