Баъзан истифодабарандагон бо зарурати ҷустуҷӯи иттилооти муайяни дохили ягон файлҳо рӯ ба рӯ мешаванд. Аксар вақт, ҳуҷҷатҳои конфигуратсия ё дигар маълумоти тиллоӣ шумораи зиёди хаторо дар бар мегирад, бинобар ин дастӣ маълумоти заруриро дарёфт кардан ғайриимкон аст. Сипас, яке аз фармонҳои дохилӣ ба системаи оператсионии Linux ба наҷот ворид мешавад, ки ба шумо имкон медиҳад, ки дар якчанд сонияҳо хатҳои ҷустуҷӯиро пайдо кунед.
Фармони grep -ро дар Linux истифода баред.
Дар бораи фарқияти байни тақсимоти Linux, дар ин ҳолат, онҳо аз нақши шумо манфиатдоранд, на нақши бозӣ намекунанд grep Бо нобаёнӣ, он дар бештари конструксияҳо дастрас аст ва ба таври воқеӣ татбиқ мегардад. Имрӯз мо мехостем, ки на танҳо амал кунем grep, балки ҳамчунин барои бартараф кардани далелҳои асосӣ, ки метавонад тартиби соддатарро соддатар гардонад.
Ҳамчунин нигаред: Мо файлҳоро дар Linux ҷустуҷӯ мекунем
Корҳои тайёрӣ
Ҳамаи амалиётҳои минбаъда тавассути консолаи стандарт иҷро карда мешаванд, он ҳамчунин имкон медиҳад, ки файлҳоро танҳо бо роҳи муайян кардани роҳи пурра ба онҳо ё агар "Терминал" аз феҳристи дархостшуда оғоз шуд. Шумо метавонед феҳристи воҳиди файлро дарёбед ва дар он консол ба ин монанд монед:
- Мудири файлро сар кунед ва ба папкаи дилхоҳ ҳаракат кунед.
- Дар файли дилхоҳ ба рост пахш кунед ва ро интихоб кунед "Меъёрҳо".
- Дар ҷадвал "Асосӣ" хатиро хонед "Феҳристи волидайн".
- Акнун ran "Терминал" усули мувофиқ, масалан, тавассути меню ё бо пахшкунии комбинати калидӣ Ctrl + Alt + T.
- Дар ин ҷо ба воситаи феҳрист ба воситаи фармон
cd / home / user / папка
дар куҷо истифодабаранда - номи корбар, ва феҳрист - номи папкаи.
Гурӯҳи машваратӣк + + номи файли
агар шумо хоҳед, ки мундариҷа пур шавад. Дастурҳои муфассал оид ба тарзи кор бо ин дастгоҳ метавонанд дар мақолаи дигар дар пайванде, ки дар поён оварда шудаанд, пайдо карда шаванд.
Муфассал: Мисолҳои фармоиши оммавӣ дар Linux
Бо қадамҳои боло, шумо метавонед истифода баред grepбе нишон додани роҳи пурра ба файли дар феҳристи зарурӣ будан.
Ҷустуҷӯи стандартҳои стандартӣ
Пеш аз он, ки ба баррасии ҳамаи далелҳои мавҷудбуда муроҷиат кунед, ҷустуҷӯи мундариҷаи мундариҷа бо мазмуни муҳим мебошад. Дар он лаҳзае, ки ба шумо лозим меояд, ки матни оддӣ ба арзиши ҷустуҷӯ ва ҳамаи хатҳои дахлдорро нишон диҳед, муфид хоҳад буд.
- Бо фармони prompt, дохил кунед
testfile калимаи grep
дар куҷо калима - маълумоти зарурӣ ва testfile - номи файл. Ҳангоми ҷустуҷӯ берун аз феҳрист, роҳро пурра аз рӯи намуна нишон диҳед./ home / user / folder / filename
. Пас аз ворид кардани фармони, калиди пахш кунед Дохил кунед. - Он танҳо бо вариантҳои дастрас шинос мешавад. Хати доим дар экран нишон дода мешавад ва арзишҳои асосӣ дар сурх нишон дода шудаанд.
- Муҳим аст, ки ба назар гирифтани мисолҳо, азбаски рамзгузории Linux барои ҷустуҷӯи беинсофӣ аломатҳои калон ё хурдро беҳбуд наёфтааст. Агар шумо хоҳед, ки тасвири феҳристро аз даст диҳед, ворид кунед
grep -i "калимаи" testfile
. - Тавре ки шумо мебинед, дар экрани нав, натиҷа тағйир ёфт ва як воҳиди нав илова карда шуд.
Ҷустуҷӯ бо сатри string
Баъзан истифодабарандагон бояд на танҳо нишонаи дақиқро дар сатрҳо пайдо кунанд, балки ҳамчунин барои пайдо кардани маълумоте, ки баъд аз он пайдо мешаванд, пайдо мекунанд, масалан, вақте ки хатогиҳои махсусро гузоред. Сипас ҳалли дуруст аст, ки ба хусусиятҳои худ истифода барад. Дар консол ворид кунедgrep -A3 "калима" testfile
дар натиҷа баъд аз бозии се сутуни поёнӣ дохил кунед. Шумо метавонед нависед- А4
, пас чор сатр хоҳад кашид, ягон маҳдудият вуҷуд надорад.
Агар ба ҷои-А
шумо баҳсро истифода мекунед-Б + шумораи сатрҳо
, дар натиҷа, маълумот то марзи воридшаванда нишон дода мешавад.
Аргентина-К
дар навбати худ, хатоҳо дар атрофи калимаи калидӣ мегузаранд.
Дар зер шумо метавонед мисолҳои таъини далели муайянро дидан кунед. Лутфан қайд кунед, ки бояд ба назар гирифта шуда, нохунакҳоро дучанд кунед.
grep-Б3 "калимаи" санҷишӣ
grep -C3 "калимаи" testfile
Калидҳои ҷустуҷӯ дар ибтидо ва охири сатрҳо
Эҳтиёҷоти муайян кардани калимаи калидӣ, ки дар ибтидо ё охири сатр муайян шудааст, аксар вақт дар вақти кор бо файлҳои конфигуратсия, ки ҳар як сатр барои як параметр ҷавобгар аст. Барои дидани вурудоти дақиқ дар ибтидо, шумо бояд ба қайд гиредgrep "^ калимаи" testfile
. Нишонӣ ^ танҳо барои истифодаи ин хосият масъул аст.
Ҷустуҷӯ барои мундариҷа дар охири хатҳо тақрибан дар ҳамон принсип рух медиҳад, танҳо дар квинятсияҳо шумо бояд харфро илова кунед $, ва дастаи мазкур ин форматро мегирад:grep "калимаи $ testfile"
.
Ҷустуҷӯ барои рақамҳо
Ҳангоми ҷустуҷӯи арзишҳои дилхоҳ истифодабаранда ҳамеша дар бораи калимаи аслии дар сатр маълумот нест. Сипас тартиботи ҷустуҷӯиро тавассути рақамҳо иҷро кардан мумкин аст, ки баъзан вазифаи онро осон мекунад. Ин танҳо дар истифодаи формулаи савол истифода мешавадgrep "[0-7]" testfile
дар куҷо «[0-7]» - силсилаи арзишҳо ва testfile - номи файл барои скан кардан.
Таҳлили тамоми файлҳои феҳрист
Ҳамаи объектҳоро дар ҷузвдони ҷустуҷӯӣ ҷустуҷӯ мекунад. Истифодабаранда танҳо як далелеро истифода мекунад, ки ҳамаи файлҳоро дар ҷузвдон таҳлил мекунад ва ҷойҳои мувофиқро нишон медиҳад. Шумо бояд дохил шаведgrep -r "калимаи" / home / user / папка
дар куҷо / home / user / папка - роҳ ба феҳрист барои нусхабардорӣ.
Ҷое, ки дар он файл нигоҳ дошта мешавад, бо ранги кабуд нишон дода мешавад, ва агар шумо хоҳед, ки хати руйхати ин иттилоотро ба даст оред, дигар фармонро фармоиш кунед.grep -h -r "калима" + роҳи папкаи
.
Ҷустуҷӯи калимаи дуруст
Дар оғози мақола мо аллакай дар бораи ҷустуҷӯи калимаҳои ибтидоӣ сӯҳбат кардем. Бо вуҷуди ин, бо ин усули иловагӣ дар натиҷаҳо нишон дода мешавад. Масалан, шумо калима ёфтаед Истифодабаранда, аммо фармоишӣ инчунин User-ро нишон медиҳад123, РамзИстифодабаранда ва дигар матолибҳо, агар мавҷуд бошанд. Барои пешгирӣ кардани ин натиҷа, баҳсро гузоред-w
(grep -w "калима" + номи файл ё макони ҷойгиршуда
).
Ин вариант ҳатто агар шумо якчанд калимаҳои калимаро дар як вақт ҷустуҷӯ кунед. Дар ин ҳолат, ворид кунедegrep -w 'word1 | word2' testifile
. Лутфан қайд кунед, ки дар ин ҳолат ба grep як мактуб илова карда шуд e, ва нохунакҳо ягонаанд.
Ҷустуҷӯи сатрҳо бидуни калимаи мушаххас
Файли баррасишуда қодир нест, ки танҳо калимаҳоро дар файлҳо пайдо кунад, инчунин нишон медиҳад, ки сатрҳои дар он ҷо арзиши корбар муайян карда нашудаанд. Баъд аз ворид кардани арзиши асосӣ ва файл илова карда мешавад-п
. Бо шарофати он, вақте ки шумо фармонро фаъол мекунед, шумо танҳо маълумотҳои дахлдорро мебинед.
Матн grep якчанд далелҳои иловагӣ ҷамъ овард, ки метавонанд мухтасар мавриди баррасӣ қарор гиранд:
-I
- танҳо номҳои файлҳое, ки ба меъёрҳои ҷустуҷӯ мувофиқат мекунанд;-с
- огоҳинома оид ба хатогиҳои ошкоршуда;-н
- рамзи рақамӣ дар файл;-б
- рақами блокро то сатр нишон диҳед.
Ҳеҷ чиз ба шумо имкон намедиҳад, ки истифодаи якчанд далелҳоро ба як ҷустуҷӯ, танҳо ба воситаи фосила ворид кунед ва фаромӯш накунед, ки ба назар гирифтани нуқтаи назар.
Имрӯз мо дастаи мунтахабро ба таври муфассал партофтаем grepдар паҳнкунии Linux дастрас аст. Ин яке аз стандартҳо мебошад ва аксар вақт истифода мешавад. Шумо метавонед дар бораи дигар воситаҳои машҳур ва аломати он дар матни алоҳидаи мо аз пайвандҳои зерин бихонед.
Ҳамчунин нигаред: Фармондеҳони сершумор дар Terminal Linux