Օգտագործելով grep ֆայլերի վրա, որոնք համապատասխանում են հատուկ չափանիշներին
Grep (գլոբալ կանոնավոր արտահայտություն տպագրություն) հրամանը համընկնում և որոնում է կանոնավոր արտահայտությունների հատուկ օրինակը: Այս հրամանը զտում և որոնում է նիշերի որոշակի օրինակ և ցուցադրում դրանք որպես արդյունք: Այն համարվում է ամենաօգտակար հրամաններից մեկը Unix/Linux-ի նման համակարգերում sysadmin-ների և մշակողների համար:
Linux-ը պարունակում է տարբեր տեսակի հրամաններ և կոմունալ ծառայություններ՝ յուրաքանչյուր առաջադրանքը պարզեցնելու համար: Ի տարբերություն այլ օպերացիոն համակարգերի, Linux-ում ցանկացած ֆայլ գտնելը պարզ է, քանի որ ցանկացած ֆայլ որոնելու համար կարող եք օգտագործել grep հրամանը:
Դուք կարող եք օգտագործել grep հրամանը՝ հատուկ ֆայլի անունը ցուցադրելու համար, որը պարունակում է ձեր փնտրած որոշակի օրինաչափություն: Այնուամենայնիվ, կան մի քանի բաներ, որոնք դուք պետք է հետևեք Linux-ում grep հրամանն օգտագործելիս −
Grep-ը լռելյայնորեն մեծատառերի զգայուն հրաման է: Այդ իսկ պատճառով դուք պետք է օգտագործեք -i տարբերակը՝ մեծատառերի անզգայուն օրինաչափությանը համապատասխանելու համար:
Դուք պետք է օգտագործեք չակերտներ grep հրամանում, որպեսզի որոնեք կեղևի համար հատուկ նշանակություն ունեցող նիշ:
-
Grep հրամանը ցուցադրում է ամբողջ տողը, որը պարունակում է կոնկրետ նիշ: Այսպիսով, դուք պետք է օգտագործեք -o տարբերակը միայն ֆայլի անունը և որոնված նիշը ցուցադրելու համար:
Այս կարճ ուղեցույցում մենք կօգտագործենք grep ֆայլերի վրա, որոնք համապատասխանում են Linux-ի հատուկ չափանիշներին:
Օգտագործելով Grep ֆայլերի վրա, որոնք համապատասխանում են հատուկ չափանիշներին Linux-ում
grep հրամանը նախապես տեղադրված է Linux բաշխումների մեծ մասում: Եկեք ստեղծենք մի քանի նմուշ ֆայլեր «Փաստաթղթեր» գրացուցակում և համընկնենք այդ ֆայլերի տողի կամ սովորական արտահայտության հետ:
~$: sudo tree Documents
Documents
|__ sample1
|__ sample2
|__ sample3
0 directories, 3 files
Այժմ մենք կփնտրենք այս նմուշային ֆայլերը Linux-ում grep հրամանի տարբեր տարբերակների միջոցով:
Ֆայլերի վրա տառերի նկատմամբ զգայուն որոնման համընկնում
Այն հայտնվում է մեծատառերի նկատմամբ զգայուն որոնման ներքո, եթե դուք պետք է գտնեք ճշգրիտ բառեր և նախշեր՝ օգտագործելով grep ֆայլերի վրա:
grep <pattern> <filename1> <filename2>.....
Այստեղ մենք կփնտրենք «unix» բառը Փաստաթղթերի գրացուցակի բոլոր ֆայլերի մեջ:
Դրա համար օգտագործեք ստորև նշված հրամանը −
~$: grep unix sample1 sample2 sample3
sample1:unix
sample3:unix operating system
Վերոնշյալ հրամանը համապատասխանում է նշված օրինակին և ցուցադրում «unix» պարունակող ֆայլերը։
Ֆայլերի վրա տառերի համար անզգայուն որոնման համընկնում
Դուք կարող եք որոնել ցանկացած օրինաչափություն՝ օգտագործելով -i տարբերակը վերը նշված հրամանով −
grep -i <pattern> <filename1> <filename2>.....
Եկեք ցուցադրենք «unix»-ի հետ կապված բոլոր արդյունքները, բայց տերմինալը ցույց կտա «Unix» կամ «unix» պարունակող բոլոր ֆայլերը:
~$: grep -i "unix" sample1 sample2 sample3
sample1:unix
sample1:Unix
sample2:Unix
sample3:unix operating system
Որոնում հենց համընկնող նախշը
grep հրամանը լռելյայն ցուցադրում է ամբողջ պարբերությունը կամ տողը: Դուք կարող եք ցույց տալ միայն օրինաչափությունը ամբողջ հատվածի կամ տողի փոխարեն՝ օգտագործելով -o տարբերակը grep հրամանով:
grep -o "<pattern>" <filename>
Այստեղ մենք կփնտրենք «Linux» grep հրամանի և դրա -o տարբերակի միջոցով
~$: grep -o "Linux" sample1 sample3
sample1:Linux
Նախշին համապատասխանող ֆայլերի անունների որոնում
Եթե ցանկանում եք որոնել որոշակի օրինաչափություն կամ տող պարունակող ֆայլեր, օգտագործեք հետևյալ հրամանը −
grep -l "<pattern>" <filename1> <filename2>.....
Կամ,
grep -l "<pattern>" *
Օրինակ՝ ստորև նշված հրամանը ցույց կտա ֆայլի անունը «linux» բառը պարունակող ընթացիկ գրացուցակում.
~$: grep -l "linux" *
sample1
sample3
Համապատասխանեցում ցանկացած օրինակին
Օգտագործեք հետևյալ grep հրամանը՝ ֆայլերում ցուցադրելու հատուկ նիշեր, որոնք համապատասխանում են ցանկացած բառի, օրինաչափության և այլնի:
grep "..<letter_pattern>" <filename>
Այստեղ ստորև նշված հրամանը ցույց է տալիս «Linux» և «Unix» նախշերը, որոնք ավարտվում են «x»-ով:
~$: grep "..x" sample1 sample3
sample2:Linux
sample2:Linux
sample2:Unix
sample3:linux
sample3:unix operating system.
Համապատասխանեցում շրջվող օրինակին
Դուք կարող եք համապատասխանեցնել միայն գծերը, որոնք նման չեն նշված օրինակին։ Այս դեպքում դուք կարող եք օգտագործել -v տարբերակը grep հրամանով հետևյալ կերպ −
grep -v "<pattern>" <filename>
Օրինակ, մենք կփնտրենք այն ֆայլերը, որոնք չեն պարունակում «Linux» բառը:
~$: grep -v "Linux" sample1 sample2 sample3
sample1:GNU operating system
sample1:gnu
sample1:Gnu
sample:unix
sample1:linux
sample1:unix
sample2:GNU
sample2:unix
sample3:linux
sample3:unix operating system.
sample3:gnu operating system.
Համապատասխանեցում նախշը, որը սկսվում է կոնկրետ բառով/տողով
«^» կանոնավոր արտահայտությունը սահմանում է հատվածի կամ տողի սկիզբը: Օգտագործելով հետևյալ grep հրամանը, կարող եք ցուցադրել տողերը, որոնք սկսվում են որոշակի օրինակով կամ տողով:
grep "^<pattern>" <filename>
Հետևյալ հրամանում մենք կօգտագործենք grep հրամանը՝ ֆայլերում «gnu» որոնելու համար
~$: grep "^gnu" sample2 sample3
sample3:gnu operating system.
Համապատասխանեցում նախշը, որն ավարտվում է կոնկրետ բառով/տողով
«$» կանոնավոր արտահայտությունը սահմանում է հատվածի/գծի վերջը: Օգտագործելով այս արտահայտությունը grep հրամանով, կարող եք համապատասխանեցնել նշված օրինաչափությամբ/բառով ավարտվող տողերը կամ հատվածները:
grep "<pattern>$" <filename>
Օրինակ, մենք կփնտրենք «համակարգը» բազմաթիվ ֆայլերում −
~$: grep "system$" sample1 sample2 sample3
sample3:unix operating system.
sample3:gnu operating system.
Գրացուցակի օրինակի համար ռեկուրսիվորեն համապատասխանեցում
Եթե ցանկանում եք համապատասխանեցնել օրինաչափությունը ամբողջ գրացուցակի մեջ՝ գրացուցակի հատուկ ֆայլերի փոխարեն, կարող եք օգտագործել -R տարբերակը grep հրամանով, ինչպես սա -
grep -R <pattern> <directory>
Այժմ մենք կգործարկենք grep հրամանը ռեկուրսիվ՝ Փաստաթղթերի գրացուցակում գտնելու «GNU» պարունակող ֆայլերը −
~$: grep -R GNU Documents
Documents/sample2:GNU
Documents/sample1:GNU operating system
Բոնուսային հուշում − Եթե ցանկանում եք որոշակի օրինաչափություն համապատասխանեցնել ընթացիկ գրացուցակում առկա բոլոր ֆայլերի միջև, կարող եք դա անել՝ օգտագործելով -w տարբերակը grep հրամանով հետևյալ կերպ.
grep -w <pattern> *
Ֆայլերի համապատասխանեցում հատուկ ընդլայնումների հետ
Օգտագործեք հետևյալ հրամանը՝ գրացուցակում ներառված հատուկ ընդլայնմամբ ֆայլերում օրինաչափություն որոնելու համար
grep -R --include=*.<file_extention> '<pattern>' <directory>
Ստորև բերված օրինակում grep հրամանը ստուգում է նշված օրինաչափությունը միայն «.txt» ընդլայնմամբ ֆայլերում:
~$: grep -R --include=*.txt 'Linux' Documents
Documents/sample1.txt:Linux is a kernel
Ծանոթագրություն − Դուք կարող եք նաև օգտագործել վերը նշված հրամանը՝ միաժամանակ մի քանի ընդլայնումներով ֆայլերի օրինաչափությունները համապատասխանեցնելու համար:
Եզրակացություն
grep հրամանը հիանալի միջոց է հատուկ նախշերով ֆայլերը զտելու Linux-ի տերմինալի միջոցով: Այս ուղեցույցում մենք տարբեր օրինակների միջոցով բացատրել ենք ֆայլերում հատուկ չափանիշներին համապատասխանելու ուղիները: grep հրամանի օգտագործումը շատ հեշտ է, և դուք կարող եք նաև տեսնել այն վերը նշված օրինակներից մի քանիսի միջոցով: Այսպիսով, դուք կարող եք օգտագործել grep հրամանը՝ Linux-ում ցանկացած օրինաչափություն, տող, բառ և այլն որոնելու համար ընդամենը մի քանի կտտոցով: