Мисолҳои истифода аз Linux grep Command

Муқаддима

Фармони Linux grep ҳамчун усули филтр кардани воридот истифода мешавад.

GREP барои чопгари матнии глобалӣ ва бо ин мақсад барои истифодаи он самаранок аст, шумо бояд дар бораи ифодаҳои муқаррарӣ баъзе маълумот дошта бошед.

Дар ин мақола, ман ба шумо якчанд мисолҳоро нишон медиҳам, ки ба шумо фармоиши grep кӯмак мекунад.

01 аз 09

Чӣ гуна ҷустуҷӯ барои сатр дар файли истифодаи GREP

Command Linux grep Command

Тасаввур кунед, ки шумо файлҳои матнро бо китобҳои зерин кӯчонида метавонед:

Барои ёфтани ҳамаи китобҳо бо калимаи "The" дар унвон, шумо синхронизатсияи зеринро истифода мебаред:

grep Дар китобҳо

Натиҷаҳои зерин баргардонида мешаванд:

Дар ҳар сурат, калимаи "The" таъкид карда мешавад.

Дар хотир доред, ки ҷустуҷӯ ҳассос аст, бинобар ин, агар яке аз унвонҳо «ба» иваз нашавад, он гоҳ ин бозгашт карда нашудааст.

Барои инкор кардан, шумо метавонед гузариши зеринро илова кунед:

grep дар китобҳо - нусхабардорӣ-case

Шумо инчунин метавонед ин тарзи зеринро истифода баред:

grep -i китобҳо

02 аз 09

Ҷустуҷӯи барои як қатор дар файл бо истифода аз смартфони

Фармони grep хеле қавӣ аст. Шумо метавонед якчанд усулҳои ҳамаҷонибаи тасвири тасвириро барои вироишҳои натиҷаҳоро истифода баред.

Дар ин мисол, ман ба шумо нишон медиҳам, ки чӣ гуна ҷустуҷӯи як сатр дар файл бо истифода аз усули ҷустуҷӯ .

Тасаввур кунед, ки шумо файлеро, ки номҳои таблиғоти зеринро дар бар мегирад, номбар кунед:

Садо Меҳмони "Озодӣ"

НОҲИЯИ ДАНҒАРА

Садо Ояндасоз

дарвоқеъ

баръакс

Newburgh

нави гандум

гармии нав

glasgow

Дунёи иқтисод

Агар шумо хоҳед, ки ҳамаи ҷойҳоро бо номи дар зер номнависӣ истифода баред, истифода баред:

дар ҷойҳои grep inver

Спартак (*) ҷодугарӣ 0 ё бисёриҳоро ишғол мекунад. Бинобар ин, агар шумо дар ҷое дареғ дошта бошед, ки дарвоқеъ ё ҷои номбурда номида мешавад, пас ҳам бармегарданд.

Истифодаи дигари ҷосуси шумо метавонад мӯҳлати (.) Бошад. Шумо инро метавонед барои мувофиқ кардани як нома истифода баред.

дар ҷойҳои grep inver.r

Фармони мазкур дар ҷойҳои муаррифӣ ва дарвоқеъ номуайян буда, вале шарики ғайритиҷоратӣ пайдо намекунад, зеро танҳо як қаҳвахонаи байни ду ронандае, ки дар тӯли як давраи муайян нишон дода метавонад.

Муштараки давра фоиданок аст, аммо он метавонад боиси мушкилот гардад, агар шумо як қисми матнро, ки шумо ҷустуҷӯ доред.

Масалан, ба рӯйхати номҳои домейнҳо назар кунед

Барои ёфтани ҳамаи чизҳо дар бораи он, шумо метавонед танҳо бо истифода аз калимаи зерин муроҷиат кунед:

grep * дар бораи * domainnames

Агар фармони ному насаб дар он бошад, фармони болотар хоҳад буд:

Аз ин рӯ, шумо метавонед ин калимаҳоро санҷед:

grep * on.com domainnames

Ин кор дуруст нест, агар дар домени зерин номбар шуда бошад:

Дар бораи мо

Барои дар ҳақиқат ҷустуҷӯи калимаҳо дар бораи шумо бояд ба шумо лозим меояд, ки нуқтаҳоро аз даст диҳед:

grep * дар бораи доменҳои .com

Ҷосуси ниҳоӣ ба шумо нишон медиҳад, ки тамғаи саввум, ки барои сифр ё як аломат хос аст.

Барои намуна:

Посух додан

Фармондеҳи дар боло зикршуда, aberens, aberystwyth ё ҳатто berwick.

03 09

Ҷустуҷӯи асбобҳо дар оғози ва анҷоми хатти истифодаи grep

Катиат (^) ва рамзи доллари амрикоӣ ба шумо имкон медиҳад, ки дар ибтидо ва охири хатҳои ҷустуҷӯ тасвирҳоро ҷустуҷӯ кунед.

Тасаввур кунед, ки шумо файлро бо номҳои дастаи зерин номбар кунед:

Агар шумо хоҳед, ки ҳамаи дастаҳоеро, ки Ман бо Манчестер сар кардааст, ба шумо зикри зеринро истифода баред:

^ олй

Фармондеҳи пешин дастаи Манчестер Юнайтед ва Манчестер Юнайтедро бармегардонад, аммо аз ҷониби Манчестер Сити на Manchester

Алтернативӣ шумо метавонед ҳамаи дастаҳоеро, ки бо United истифода мебаранд, истифода баранд:

Бештар

Фармондеҳи пешин дастаи Манчестер Юнайтед ва Ню-Йоркро бармегардонад, аммо аз ҷониби Манчестер Юнайтер

04 09

Ҳисоб кардани миқдори натиҷаҳо Истифодаи grep

Агар шумо намехоҳед, ки хатҳои воқеиро, ки ба намунаи grep мувофиқат мекунанд, бардоред, аммо шумо мехоҳед бидонед, ки чӣ қадаре, ки шумо синтези зеринро истифода мебаред:

grep -c тасвири

Агар намуна ду маротиба мувофиқ бошад, рақами 2 баргардонида мешавад.

05 09

Ҷустуҷӯи Ҳамаи Шартҳои, ки бо истифода grep

Тасаввур кунед, ки шумо рӯйхати номҳои маконро бо кишварҳое, ки дар поён оварда шудаанд, тасаввур кунед.

Шояд шумо фаҳмидед, ки клвин халиҷе вуҷуд надорад, ки бо он алоқаманд аст.

Барои ҷустуҷӯи ҳамаи ҷойҳо бо кишвар шумо метавонед ин калимаро истифода баред:

заминҳои grep замин

Натиҷаҳои натиҷаҳо ҳамаи ҷойҳо, ба истиснои хлори colwyn.

Ин албатта танҳо барои ҷойҳое, ки дар замин ба анҷом мерасанд (ба таври ҷиддӣ илмӣ) кор мекунанд.

Шумо метавонед интихобро бо истифода аз зерин истифода баред:

-мегӯянд

Ин ҳама ҷойҳое, ки бо замин нестанд, ёфт хоҳанд шуд.

06 аз 09

Чӣ тавр ёфтани лентаҳо дар файлҳои истифода grep

Тасаввур кунед, ки шумо файлеро ворид кардаед, ки аз тарафи тарафи сеюм истифода мешавад, ки хондани файлро ҳангоми хати холӣ пайдо мекунад:

Вақте ки ариза ба сатри пас аз мароҳил мегузарад, онро хондан қатъ мекунад.

Шумо метавонед бо ёрии grep бо мақсади ҷустуҷӯи хати аломати зерин истифода баред:

данд

Мутаассифона, ин хеле муфид аст, зеро он танҳо хатҳои холӣ бар мегардонад.

Шумо албатта метавонед шумори шумораи хатҳои воҳиди чекиро барои санҷидани он, ки оё файл ба таври зерин амал мекунад:

Бештар

Аммо он қадар муфидтар аст, ки рақамҳои сатрро, ки хати холиро дорад, муфассалтар гардонед, то ки шумо онҳоро иваз кунед. Шумо инро метавонед бо фармони зерин иҷро кунед:

МУХТАРАМ

07 09

Чӣ гуна ҷустуҷӯ кардани сатрҳои тасвирҳои болоӣ ё пасттарро истифода кунед

Бо истифодаи grep шумо метавонед муайян кунед, ки кадом сатрҳо дар як файл дорои аломатҳои калонтарини зерин истифода мешаванд:

grep '[AZ]' файли

Параграфҳои мураббаъ [] ба шумо як қатор аломатҳоро муайян месозед. Дар намунаи дар боло номбаршуда аломати ҳар як хусусияти A ва Z мебошад.

Аз ин рӯ, барои нишон додани аломатҳои хурд шумо метавонед синтези зеринро истифода баред:

grep '[az]' номи файл

Агар шумо хоҳед, ки танҳо бо ҳарфҳо, на рақамҳо ё дигар нишонаҳо мувофиқат накунед, шумо метавонед синтези зеринро истифода баред:

grep [[a-zA-Z] 'номида шудааст

Шумо метавонед бо ҳамон рақамҳои зерин амал кунед:

grep '[0-9]' filename

08 аз 09

Ҷустуҷӯи намунаҳо бо истифодаи grep

Шумо метавонед қуттиҳои ҷовидӣ {} -ро барои ҷустуҷӯи намунаи такрорӣ истифода баред.

Тасаввур кунед, ки шумо файлҳоро бо рақами телефон дошта метавонед:

Шумо медонед, ки якумин рақам бояд се адад бошад ва шумо мехоҳед сатрҳоро, ки ба ин намуна мувофиқ нестед, пайдо кунед.

Аз мисоли гузашта шумо медонед, ки [0-9] ҳамаи рақамҳоро дар як файл бар мегардонад.

Дар ин ҳолат мо мехоҳем, ки хатҳои оғозёфта бо се рақам ва пас аз хати (-). Шумо инро метавонед бо калимаҳои зерин иҷро кунед:

grep "^ [0-9] [0-9] [0-9] -" рақамҳо

Чуноне ки мо аз намунаҳои қаблӣ медонем, carat (^) маънои онро дорад, ки хат бояд бо намунаи зерин оғоз шавад.

[0-9] барои рақамҳои байни 0 ва 9 ҷустуҷӯ мекунад. Чуноне, ки ин се маротиба ба 3 рақам баробар аст. Ниҳоят, як сурх барои нишон додани он, ки гипер бояд се ададро ба даст орад.

Бо ёрии клавиатура бо ёрии шумо метавонед ҷустуҷӯро хурдтар кунед:

grep "^ [0-9] \ {3 \} -" рақамҳо

Нишондиҳандаи {bracket} аз он иборат аст, ки он ҳамчун қисми таркиби мунтазам кор мекунад, аммо дар асл ин чӣ маънӣ дорад [0-9] {3}, яъне ҳар як рақами байни 0 ва 9 се маротиба.

Параметрҳои curly инчунин метавонанд ба таври зерин истифода шаванд:

{5,10}

{5,}

{5,10} маънои онро дорад, ки аломати ҷустуҷӯ бояд на кам аз 5 маротиба, вале на зиёда аз 10 такрор шавад, дар ҳоле, ки {5,} маънои онро дорад, ки ҳарф бояд на камтар аз 5 маротиба такрор шавад, аммо он метавонад бештар бошад.

09 09

Истифода аз баромад аз фармони дигар Истифодаи grep

Ҳамин тариқ, мо дар феҳристҳои функсионалӣ ба назар гирифта шудем, вале grep метавонад аз дигар фармонҳо ҳамчун воҳиди барои мувофиқати намунавӣ истифода барад.

Намунаи бузурги ин аст, истифодаи фармонҳои ps, ки равандҳои фаъолро номбар мекунад.

Масалан, фармонро иҷро кунед:

ps -ef

Ҳамаи равандҳои ҷараён дар системаи шумо нишон дода мешаванд.

Шумо метавонед grep -ро барои ҷустуҷӯи раванди мушаххаси зерин истифода баред:

Пурбаҳстаринҳо оташпарастӣ

Натиҷа

Фармондеҳии grep - фармонҳои асосии Linux ва яке аз он ба омӯзиши хуб аст, зеро вақте ки ҷустуҷӯи файлҳо ва равандҳо ҳангоми истифодаи терминал хеле осонтар мегардад.