උදාහරණයක් ලෙස Linux grep විධානය භාවිතා කරයි

හැදින්වීම

Linux ග්රෘප් විධානය මඟින් පෙරහන් ආදාන සඳහා ක්රමයක් ලෙස භාවිතා කරයි.

GREP නිරන්තරයෙන් ප්රකාශයට පත් වන ප්රකාශ සඳහා මුද්රණය කර ඇති අතර එබැවින් එය ඵලදායී ලෙස භාවිතා කිරීම සඳහා, ඔබ නිතිපතා ප්රකාශන පිළිබඳ යම් දැනුමක් තිබිය යුතුය.

මෙම ලිපියෙහි, මම ඔබට grep විධානය තේරුම් ගැනීමට උදව් වන උදාහරණ කිහිපයක් පෙන්වන්නෙමි.

09 වන දින

GREP භාවිතා කරමින් ගොනුවක String සඳහා ගවේෂණය කරන්නේ කෙසේද

Linux ග්රෘම් විධානය.

පහත සඳහන් ළමා ග්රන්ථ මාතෘකා සහිත පොත් සහිත ලිපිගොනු ගොනුවක් ඔබ සිතන්නෙහිද:

මාතෘකාවෙහි "සියල්ල" යන වචනය සමඟ සියලු පොත් සොයා ගැනීම සඳහා ඔබ පහත සඳහන් රීතය භාවිතා කරනු ඇත:

ග්රෘ ග්රන්ථ

පහත ප්රතිඵල නැවත ලබා දෙනු ඇත:

එක් එක් අවස්ථාවේදී, "The" යන වචනය අවධාරණය කෙරෙනු ඇත.

එමනිසා සෙවීම එක් එක් මාතෘකාවට ඇත්තේ "The" යන වචනය වෙනුවට නම් එය නැවත ලබා නොදෙනු ඇත.

පහත දැක්වෙන ස්විචය එකතු කළ හැකිය.

ග්රෘප් ග්රන්ථ - ජෙනරල් නඩුව

ඔබට -i ස්විචය භාවිතා කළ හැකිය:

grep-i පොත්

09 සිට 09 දක්වා

ආදේශකයක් භාවිතා කරමින් ගොනුවක් තුල ගණයක් සොයන්න

Grep විධානය ඉතා බලවත්ය. ප්රතිඵල පෙරා ගැනීම සඳහා ඔබට අනුරූප ගැලපුම් ශිල්ප ක්රම රාශියක් භාවිතා කළ හැකිය.

මෙම උදාහරණයේ, ආදේශක භාවිතා කරමින් ගොනුවක් තුල කෙලෙස සොයා ගන්නේ කෙසේදැයි පෙන්වනු ඇත.

පහත දැක්වෙන ස්කොට්ෂීස් නම් සහිත ස්ථාන සහිත ස්ථාන ලෙස නම් කරන ලද ගොනුවක් ඔබ සිතන්නෙහිද:

ඇබර්ඩීන්

ඇබර්ස්විඩ්

අබර්ලර්

ඉතාලිය

ඉන්ටර්නැෂනල්

නිව්බර්ග්

නව මුවා

නව ගාලුයාය

හඬක්

එඩින්බරෝ

නමෙහි නාමයෙන් සියලු ස්ථාන සොයා ගැනීමට අවශ්ය නම් පහත සඳහන් රීතය භාවිතා කරන්න:

grep inver * ස්ථාන

තරුව (*) වයිල්ඩ්කාඩ් එකක් 0 හෝ බොහෝ දෙනෙක් සිටී. එබැවින් ඔබ ඉන්වර් ලෙස නම් කරන ලද ස්ථානයක් හෝ ඉන්ඩෙක්ස් ලෙස හැඳින්වෙන ස්ථානයක් නම් දෙකම ආපසු දෙනු ලැබේ.

ඔබට භාවිතා කළ හැකි වෙනත් ආදේශකයක් වේ (.). ඔබට තනි අකුරක් ගැලපීමට මෙය භාවිතා කළ හැකිය.

grep inver.r ස්ථාන

ඉහත විධානය මඟින් ඉන්වුර්වය සහ ඉන්කාර්සර්ව යනුවෙන් හැඳින්වෙන ස්ථාන සොයා ගනු ඇත. එහෙත් ආර්-දෙක අතර එක් ආදේශකයක් පමණක් එක් කාල සීමාවක් තුළ පමණක් දැක්විය හැකි නිසා ආගන්තුකය සොයාගත නොහැකි වනු ඇත.

කාල වයිල්ඩ්කාඩ්පත ප්රයෝජනවත් නමුත් ඔබ සොයන පෙළේ කොටසක් ලෙස ඔබට එකක් නම් එය ගැටළු ඇති විය හැක.

උදාහරණයක් ලෙස ඩොමේන් නාම ලැයිස්තුව බලන්න

සියලු o.coms සොයා ගැනීමට ඔබට පහත දැක්වෙන රීතූලාව භාවිතා කළ හැකිය:

* වසම් නාම ගැන grep *

පහත දැක්වෙන නාමයෙන් පහත දැක්වෙන නාමය අඩංගු නම් ඉහත විධානය පහත වැටෙනු ඇත:

එබැවින් පහත දැක්වෙන රීතිය උත්සාහ කරන්න:

grep * about.com domainnames

පහත සඳහන් නම සහිත ඩොමේනයක් නොමැති නම් මෙය ක්රියාත්මක වනු ඇත:

සෙවුම් ඇන්ජිම ගැන සැබැවින්ම සෙවීමට ඔබට පහත සඳහන් පරිදි තිතයෙන් පැනගත යුතුය:

gmp * .com .com වසම් නාම ගැන

අවසන් වයිල්ඩ්කාඩ්පත යනු ශුන්ය හෝ එක් චරිතයක් වන ප්රශ්න ලකුණයි.

උදාහරණයක් වශයෙන්:

grep? ber placenames

ඉහත සඳහන් ආඥාව Aberdeen, aberystwyth හෝ even berwick වෙත පැමිණෙනු ඇත.

09 දින 03

Grep සඳහා ආරම්භය හා අවසානයෙහි පේළිය සඳහා සොයන්න

කැරට් (^) සහ ඩොලරයේ ($) සංකේතයේ පේළි ආරම්භයේ සහ අවසානයේ දී රටාවන් සොයනු ඇත.

පහත දැක්වෙන කණ්ඩායම් නාම සමඟ ඔබ පාපන්දු ලෙස ගොනුවක් ඇති බවට සිතන්න.

ඔබ මැන්චෙස්ටර් සමඟ ආරම්භ කළ සියලුම කණ්ඩායම් සොයා ගැනීමට අවශ්ය නම් ඔබ පහත සඳහන් රීතය භාවිතා කරනු ඇත:

grep ^ මැන්චෙස්ටර් කණ්ඩායම්

ඉහත කී විධානයන් මැන්චෙස්ටර් නගරයට සහ මැන්චෙස්ටර් යුනයිටනය වෙත ආපසු හැරෙනු ඇත.

විකල්පයක් ලෙස ඔබට පහත දැක්වෙන අනුවාදය භාවිතයෙන් සියලුම කණ්ඩායම් එක්සත් යුනයෙහි අවසන් වනු ඇත:

grep United $ කණ්ඩායම්

ඉහත කී විධානයන් මැන්චෙස්ටර් යුනයිටඩ් සහ නිව්කාසල් යුනයිටඩ් වෙත ආපසු හැරෙනු ඇත.

09 සිට 04 දක්වා

Grep භාවිතා කරමින් තරඟ ගණනාව ගණනය කිරීම

Grep භාවිතයෙන් රටාවකට ගැලපෙන සැබෑ රේඛා ආපසු හැරවීමට අවශ්ය නොවන්නේ නම් ඔබට පහත දැක්වෙන රීතීතාව භාවිතා කළ හැකිද යන්න දැන ගැනීමට ඔබට අවශ්ය වන්නේය:

grep -c රටක ආදාන ගොනුව

දෙවරක් අනුපිළිවෙලට අනුකූල නම්, අංක 2 නැවත ලබා දෙනු ලැබේ.

09 සිට 05 දක්වා

Grep භාවිතා නොකල කොන්දේසි සියල්ල සොයා ගැනීම

පහත දැක්වෙන රටවල් ලැයිස්තුගත රටවල් සමඟ ස්ථාන නාම ලැයිස්තුවක් ඇති බවට සිතන්න.

කොල්වුනේ බෑවුනට කිසිම රටකට සම්බන්ධ නැති බව ඔබ දැක ඇති විය හැකිය.

රටක් සහිත සියලු ස්ථාන සෙවීමට පහත දැක්වෙන රචනය භාවිතා කළ හැකිය:

grep ඉඩම් ඩොලර් ස්ථාන

ප්රතිඵලය වනු ඇත්තේ කොල්වෝ බොක්ක හැර සෙසු ස්ථාන වේ.

මෙය නිසැකවම ඉඩම්වල අවසන් වන ස්ථාන සඳහා පමණි (කලාතුරකින් විද්යාත්මකව) පමණි.

පහත දැක්වෙන රීතය භාවිතා කිරීමෙන් තේරිය හැකිය:

grep -v land $ ස්ථාන

මෙය ඉඩම්වලින් අවසන් නොවන සියලු ස්ථාන සොයා ගනු ඇත.

09 සිට 06 දක්වා

Grep භාවිතා කරමින් ගොනු වල හිස් පේළි සොයා ගන්නේ කෙසේද?

ඔබට හිස් පේළියක් හිස් වන විට ගොනුවේ කියවීම නතර කරන තාවකාලික යෙදුමක් විසින් භාවිතා කරන ආදාන ගොනුවක් තිබේයයි සිතන්න:

යෙදුම ලිවර්පනය පසු මාර්ගයට පැමිණි විට එය කියවීම නැවැත්වීම නතර වනු ඇත colwyn bay සම්පූර්ණයෙන්ම මැකී යනු ඇත.

පහත දැක්වෙන රීතියේ හිස් පේළි සෙවීමට ඔබට grep භාවිතා කළ හැකිය:

grep ^ $ ස්ථාන

අවාසනාවකට මෙය හිස් රේඛා නැවත පැමිණීම නිසා මෙය විශේෂයෙන් ප්රයෝජනවත් නොවේ.

මෙම ගොනුව පහත සඳහන් පරිදි වලංගු දැයි බැලීමට පරික්ෂාවක් ලෙස හිස් පේළි ගණන ගණන් කිරීමට ඔබට හැකි විය හැක:

grep -c ^ $ ස්ථාන

හිස් පේළියක් ඇති රේඛා අංකයන් දැන ගැනීමට ඔබට වඩා ප්රයෝජනවත් වනු ඇත. පහත දැක්වෙන විධානය සමඟ ඔබට එය කළ හැකිය:

grep -n ^ $ ස්ථාන

09 සිට 07 දක්වා

Grep භාවිතා කරමින් ඉහළ පෙළ හෝ අඩු අකුරු සහිත පේළිවල සෙවීම සඳහා

Grep භාවිතා කර පහත සඳහන් රීතය භාවිතා කර ගොනුවේ ඇති සරල අකුරු වලට කොපමණ රේඛාවක් තිබෙනවාදැයි තීරණය කළ හැකිය:

grep '[AZ]' ගොනුවේ නම

කොටු වරහන් [] ඔබ චරිත පරාසය තීරණය කිරීමට ඉඩ ලබා දේ. ඉහත උදාහරණයේ A හා Z අතර ඕනෑම අක්ෂරයකට ගැලපේ.

එබැවින් කුඩා අකුරු අනුපිළිවෙලට ගැලපෙන පරිදි පහත දැක්වෙන රීතය භාවිතා කළ හැකිය:

grep '[az]' ගොනු නාමය

ඔබට අකුරු පමණක් සහ ඉලක්කම් හෝ වෙනත් සංකේතවලට ගැලපීමට අවශ්ය නම් පහත දැක්වෙන රීතය භාවිතා කළ හැකිය:

grep '[a-zA-Z]' ගොනු නම

පහත සඳහන් ආකාරයට සංඛ්යාත්මකව ඔබට කළ හැකිය.

grep '[0-9]' ගොනු නාමය

09 සිට 08 දක්වා

යළි-යොමුවීම් ආකාරයන් සොයමින් grep

ඔබට ව්යාකරණ වරහන {} භාවිතා කළ හැක.

පහත සඳහන් පරිදි දුරකථන අංක සමඟ ලිපිගොනුවක් ඇති බවට සිතන්න.

අංකයෙන් පළමු කොටස සංඛ්යා තුනක් විය යුතු අතර ඔබ මෙම රටාවට ගැලපෙන රේඛා සොයා ගැනීමට අවශ්ය නැත.

පෙර උදාහරණයෙන් ඔබ [0-9] ගොනුවේ සියලු සංඛ්යා යළි ලබා දෙයි.

මේ අවස්ථාවේ දී අපට අවශ්ය සංඛ්යා තුනකින් ආරම්භ වන රේඛා (-) අක්ෂරයක් මඟින් දැක්වේ. පහත දැක්වෙන රීතියෙන් ඔබට එය කළ හැකිය:

grep "^ [0-9] [0-9] [0-9] -" සංඛ්යා

කලින් උදාහරණවලින් අප දන්නා පරිදි කාර්ටට් (↑) ඉන් අදහස් වන්නේ පහත දැක්වෙන රටාව සමඟින් රේඛාව ආරම්භ විය යුතු බවයි.

[0-9] 0 සිට 9 දක්වා අතර ඕනෑම අංකයක් සෙවිය හැක. මෙය තුන් වතාවක් ඇතුළත් වන අතර එය අංක 3 ට සමාන වේ. අන්තිම ඉරට්ටේ අංක තුනක් සාර්ථකත්වයට පත් කළ යුතු බව සඳහන් කිරීමට කෙටි ඉඟියක් ඇත.

සඟල වරහන භාවිතා කිරීමෙන් පහත දැක්වෙන පරිදි සෙවුම් කුඩා කරන්න:

grep "^ [0-9] \ {3 \} -" අංක

ස්ලයිඩය {නිමි ප්ලේයයට ගැලපෙන පරිදි සාමාන්ය ප්රකාශනයේ කොටසක් ලෙස ක්රියා කරයි, නමුත් මෙය ප්රකාශ කරන්නේ කුමක් ද යන්න [0-9] {3} යන්නෙන් අදහස් වන්නේ 0 හෝ 9 අතර ඕනෑම සංඛ්යාවක් යන්නයි.

සඟල වරහන් පහත පරිදි භාවිතා කළ හැක:

{5,10}

{5,}

{5,10} යනු සෙවුම් චරිතය අවම වශයෙන් 5 වතාවක්වත් අවම නමුත් 10 ට නොඅඩු සංඛ්යාවක් තිබිය යුතු අතර, {5,} යනුවෙන් අදහස් වන්නේ චරිතය අවම වශයෙන් 5 වතාවක් පුනරාවර්තනය කළ යුතු වුවත් එය වඩා වැඩි විය හැක.

09 සිට 09 දක්වා

වෙනත් විධිවලින් ලැබෙන ප්රතිදාන grep භාවිතා කිරීම

මේ වන විට අපි තනි ගොනු වල අනුරූප ගැලපුම් දෙස බැලූ නමුත් grep වෙනත් ආකෘති වලින් අනුරූප ගැලපුම සඳහා ආදානය ලෙස භාවිතා කළ හැකිය.

මෙය ඉතා හොඳ උදාහරණයකි ක්රියාකාරී ක්රියාවලි ලැයිස්තුගත කරන ලද ps විධානය භාවිතා කරන්න.

උදාහරණයක් ලෙස පහත දැක්වෙන විධානය ක්රියාත්මක කරන්න:

ps -ef

ඔබේ පද්ධතියේ ධාවනය වන සියලුම ක්රියාකාරකම් පෙන්වනු ඇත.

නිශ්චිත ධාවන ක්රියාවලියක් සඳහා ගුප් භාවිතා කළ හැක:

ps -ef | grep firefox

සාරාංශය

Grep විධානය යනු මූලික ලිනක්ස් විධානයක් වන අතර එය ටර්මිනල් භාවිතා කරන විට ගොනු හා ක්රියාවලි සෙවීමෙන් ඔබේ ජීවිතය වඩාත් පහසු වනු ඇත.