ഉദാഹരണം Linux grep കമാൻഡിന്റെ ഉപയോഗങ്ങൾ

ആമുഖം

ഇന്പുട്ട് ഫില്റ്റര് ചെയ്യുന്നതിനുള്ള ഒരു രീതിയായി Linux grep കമാന്ഡ് ഉപയോഗിക്കുന്നു.

ഗ്ലോബൽ റെഗുലർ എക്സ്പ്രെഷൻ പ്രിൻററിനു വേണ്ടി നിലകൊള്ളുന്നു, അതിലൂടെ ഫലപ്രദമായി അത് ഉപയോഗിക്കുന്നതിന്, പതിവ് എക്സ്പ്രഷനുകളെ കുറിച്ചുള്ള അറിവ് നിങ്ങൾക്ക് ഉണ്ടായിരിക്കണം.

ഈ ലേഖനത്തിൽ ഞാൻ നിങ്ങൾക്ക് ഗ്രേപ് കമാൻഡ് മനസിലാക്കാൻ സഹായിക്കുന്ന നിരവധി ഉദാഹരണങ്ങൾ നിങ്ങൾക്ക് കാണിച്ചുതരാം.

09 ലെ 01

GREP ഉപയോഗിച്ചു് ഒരു ഫയലിലുള്ള സ്ട്രിങ്ങിനായി തിരയുന്നതെങ്ങനെ

Linux grep കമാൻഡ്.

ഇനിപ്പറയുന്ന കുട്ടികളുടെ പുസ്തക ശീർഷകങ്ങളുള്ള പുസ്തകങ്ങൾ എന്ന ഒരു ടെക്സ്റ്റ് ഫയൽ നിങ്ങൾക്ക് ഉണ്ടെന്ന് സങ്കൽപ്പിക്കുക:

തലക്കെട്ടിൽ "The" എന്ന വാക്കിൽ എല്ലാ പുസ്തകങ്ങളും കണ്ടെത്തുന്നതിന് നിങ്ങൾ ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിക്കും:

grep the books

ഇനിപ്പറയുന്ന ഫലങ്ങൾ നൽകും:

ഓരോ വാക്കിലും "ദി" എന്ന വാക്ക് ഹൈലൈറ്റ് ചെയ്യപ്പെടും.

തിരയലിന്റെ കേസ് സെൻസിറ്റീവ് ആണെന്ന് ശ്രദ്ധിക്കുക, അതിനൊരു തലക്കെട്ട് "The" എന്നതിനുപകരം "ദി" എന്നതിനു പകരം അത് തിരികെ ലഭിക്കുകയില്ലായിരുന്നു.

ഈ കേസ് അവഗണിക്കുന്നതിന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സ്വിച്ച് ചേർക്കാൻ കഴിയും:

grep പുസ്തകങ്ങൾ --ignore കേസ്

-i സ്വിച്ച് നിങ്ങൾക്ക് ഉപയോഗിക്കാം.

grep -i പുസ്തകങ്ങൾ

02 ൽ 09

വൈൽഡ്കാർഡ് ഉപയോഗിച്ച് ഒരു ഫയലിൽ ഒരു സ്ട്രിംഗ് തിരയുക

Grep കമാൻഡ് വളരെ ശക്തമാണ്. ഫലങ്ങൾ ഫിൽട്ടർ ചെയ്യാൻ നിങ്ങൾക്ക് നിരവധി പാറ്റേൺ പൊരുത്തപ്പെടൽ ടെക്നിക്റ്റുകൾ ഉപയോഗിക്കാം.

ഈ ഉദാഹരണത്തിൽ, വൈൽഡ്കാർഡ് ഉപയോഗിച്ച് ഒരു ഫയലിൽ ഒരു സ്ട്രിംഗ് എങ്ങനെ തിരയാമെന്ന് ഞാൻ നിങ്ങൾക്ക് കാണിച്ചുതരാം.

ഇനിപ്പറയുന്ന സ്കോട്ടിഷ് സ്ഥല നാമങ്ങളുള്ള സ്ഥലങ്ങളുള്ള ഒരു ഫയൽ നിങ്ങൾക്കുണ്ടെന്ന് സങ്കൽപ്പിക്കുക:

അബെർഡീൻ

അബരിഫ്വിത്ത്

അബർലോർ

ഇങ്ങോട്ട്

ഇന്ദ്വേർസ്

newburgh

പുതിയ മാൻ

പുതിയ galloway

ഗ്ലാസ്ഗോ

എഡിൻബർഗ്

ഇനിപറയുന്ന സ്ഥലത്ത് ഇൻവെർട്ടുള്ള എല്ലാ സ്ഥലങ്ങളും കണ്ടെത്തുന്നതിന് നിങ്ങൾക്കാവശ്യമുള്ള സിന്റാക്സ് ഉപയോഗിക്കുക:

grep inver * സ്ഥലങ്ങൾ

ആസ്ട്രിക് (*) വൈൽഡ്കാർഡ് 0 അല്ലെങ്കിൽ കൂടുതൽ സൂചിപ്പിക്കുന്നു. അതിനാൽ നിങ്ങൾക്കൊരു സ്ഥലമോ ഇൻവർനസ്സ് എന്നു വിളിക്കുന്ന സ്ഥലമോ ഉണ്ടെങ്കിൽ, അപ്പോൾ രണ്ടുപേരും തിരിച്ചുവരും.

നിങ്ങൾക്ക് ഉപയോഗിക്കാനാകുന്ന മറ്റൊരു വൈൽഡ്കാർഡ് കാലാവധി (.) ആണ്. ഒരു അക്ഷരവുമായി പൊരുത്തപ്പെടുത്തുന്നതിന് ഇത് ഉപയോഗിക്കാം.

grep inver.r സ്ഥലങ്ങൾ

ഇൻവേർറി, ഇൻവെർററി എന്നീ സ്ഥലങ്ങൾ കണ്ടെത്താൻ മേൽപറഞ്ഞ കമാൻഡുകൾക്ക് കഴിയും. പക്ഷേ, അത് ഒറ്റയടിക്ക് കണ്ടെത്താൻ കഴിയില്ല.

കാലാവധി വൈൽഡ്കാർഡ് പ്രയോജനകരമാണ് എങ്കിലും നിങ്ങൾ തിരയുന്ന വാചകത്തിന്റെ ഭാഗമായി ഒന്നുമുണ്ടെങ്കിൽ ഇത് പ്രശ്നങ്ങൾ ഉണ്ടാക്കുന്നു.

ഉദാഹരണത്തിന് ഡൊമെയിൻ പേരുകളുടെ ഈ പട്ടിക നോക്കുക

എല്ലാ in.com- കൾ കണ്ടെത്തുന്നതിന് നിങ്ങൾ ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിച്ചു് തിരയാനു്:

grep * domain * നെ കുറിച്ച്

ലിസ്റ്റിൽ താഴെ പറയുന്ന പേര് ഉണ്ടെങ്കിൽ മുകളിൽ പറഞ്ഞിരിക്കുന്ന കമാൻഡ് വീഴും:

അതിനാൽ, നിങ്ങൾക്ക് ഇനി പറയുന്ന സിന്റാക്സ് പരീക്ഷിക്കാം:

grep * about.com domainnames

ഇനിപ്പറയുന്ന പേരിൽ ഒരു ഡൊമെയ്ൻ ഇല്ലാതിരുന്നാൽ ഇത് ശരിയായി പ്രവർത്തിക്കും:

aboutycom.com

About.com എന്ന വാക്കിന്റെ ശീർഷകം തിരയാനായി താഴെ കാണിച്ചിരിയ്ക്കണം.

\ .com ഡൊമെയിൻ നെയിമുകളെ കുറിച്ച് grep *

നിങ്ങൾക്ക് കാണിക്കുന്നതിനുള്ള അന്തിമ വൈൽഡ്കാർഡ് പൂജ്യം അല്ലെങ്കിൽ ഒരു പ്രതീകം സൂചിപ്പിക്കുന്ന ചോദ്യ മാർക്കാണ്.

ഉദാഹരണത്തിന്:

grep? ber placenames

മുകളിൽ പറഞ്ഞിരിക്കുന്ന കമാൻഡ് ആബേർഡെൻ, അബേർട്ടിവിസ്റ്റ്, അല്ലെങ്കിൽ ബെർലിക്ക് എന്നിവ നൽകും.

09 ലെ 03

ഗ്രാപ്പ് ഉപയോഗിച്ചു് ആരംഭവും അവസാനിക്കുന്നതുമായ സ്ട്രിംഗുകൾക്കായി തിരയുക

കാരറ്റ് (^), ഡോളർ ($) ചിഹ്നം നിങ്ങൾക്ക് പാടുകളുടെ ആരംഭവും അവസാനവുമുപയോഗിച്ച് പാറ്റേണുകൾക്കായി തിരയുവാൻ അനുവദിക്കുന്നു.

ഇനിപ്പറയുന്ന ടീമുകൾക്കൊപ്പം ഫുട്ബോൾ എന്ന് പേരുള്ള ഒരു ഫയൽ നിങ്ങൾക്ക് ഉണ്ടെന്ന് കരുതുക:

മാഞ്ചസ്റ്ററിനൊപ്പം ആരംഭിച്ച എല്ലാ ടീമുകളും നിങ്ങൾ കണ്ടെത്താൻ ആഗ്രഹിക്കുന്നെങ്കിൽ നിങ്ങൾ ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിക്കും:

grep ^ മാഞ്ചസ്റ്റർ ടീമുകൾ

മാഞ്ചസ്റ്റർ സിറ്റിയും മാഞ്ചെസ്റ്റർ യുണൈറ്റഡും മേധാവി മാഞ്ചസ്റ്ററിനെ എഫ്.സി.

മറ്റൊരു സിംബാക്സ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് യുണൈറ്റഡ് ഒടുവിൽ അവസാനിക്കുന്ന എല്ലാ സംഘങ്ങളും കണ്ടെത്താം:

grep യുണൈറ്റഡ് $ ടീമുകൾ

മുകളിൽ പറഞ്ഞ ആജ്ഞ മാഞ്ചെസ്റ്റർ യുനൈറ്റും ന്യൂകാസിൽ യുനൈറ്റും തിരിച്ചെടുക്കും, പക്ഷേ മാഞ്ചസ്റ്ററിന്റെ FC യുനൈറ്റഡ് അല്ല.

09 ലെ 09

ഗ്രെപ്പ് ഉപയോഗിച്ചുള്ള മത്സരങ്ങളുടെ എണ്ണം

ഗ്രാഫിക്സ് ഉപയോഗിച്ച് ഒരു പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന യഥാർത്ഥ വരികൾ നിങ്ങൾ തിരിച്ചു തരാൻ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾക്ക് എത്രത്തോളം സിന്റാക്സ് ഉപയോഗിക്കാൻ കഴിയും എന്നു നിങ്ങൾ അറിഞ്ഞിരിക്കണം:

grep -c പാറ്റേൺ ഇൻപുട്ട്ഫയൽ

പാറ്റേൺ രണ്ടുതവണ പൊരുത്തപ്പെടുന്നുവെങ്കിൽ നമ്പർ 2 നൽകും.

09 05

ഗ്രാപ്പ് ഉപയോഗിച്ച് പൊരുത്തപ്പെടാത്ത എല്ലാ നിബന്ധനകളും കണ്ടെത്തുന്നു

താഴെ പറഞ്ഞിരിക്കുന്ന രാജ്യങ്ങളുള്ള സ്ഥലങ്ങളുടെ പേരുകൾ നിങ്ങൾക്ക് ഉണ്ടെന്ന് സങ്കൽപ്പിക്കുക:

Colwyn bay അതിന് രാജ്യവുമായി ബന്ധമില്ലെന്ന് നിങ്ങൾ ശ്രദ്ധിച്ചിരിക്കാം.

ഒരു രാജ്യത്തോടുകൂടിയ എല്ലാ സ്ഥലങ്ങളും തിരയാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സിന്റാക്സ് ഉപയോഗിക്കാം:

grep ഭൂമി $ സ്ഥലങ്ങൾ

ഫലപ്രാപ്തി ലഭിക്കുന്നത് colwyn bay ഒഴികെയുള്ള എല്ലാ സ്ഥലങ്ങളും ആയിരിക്കും.

ഇത് വ്യക്തമായും ഭൂമിയിൽ അവസാനിക്കുന്ന സ്ഥലങ്ങൾക്ക് മാത്രമാണ് പ്രവർത്തിക്കുന്നത് (ശാസ്ത്രീയമല്ല).

താഴെ പറഞ്ഞിരിയ്ക്കുന്ന സിന്റാക്സ് ഉപയോഗിച്ചു് നിങ്ങൾക്കു് തെരഞ്ഞെടുക്കുക:

grep -v ഭൂമി $ സ്ഥലങ്ങൾ

ഇത് ഭൂമിയോടെ അവസാനിക്കാത്ത എല്ലാ സ്ഥലങ്ങളും കണ്ടെത്തും.

09 ൽ 06

ഗ്രെപ് ഉപയോഗിച്ച് ഫയലുകൾ ശൂന്യമായ ലൈനുകൾ എങ്ങനെ കണ്ടെത്താം

ഒരു മൂന്നാം കക്ഷി ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്നത് ഒരു ഇൻപുട്ട് ഫയൽ ആണെന്ന് സങ്കൽപ്പിക്കുക, അത് ഫയൽ വായിക്കുമ്പോൾ നിർത്തുക:

ആപ്ലിക്കേഷൻ ലിവർപൂളിന് ശേഷം ലൈൻ ലഭിക്കുമ്പോൾ അത് അർത്ഥമാക്കുന്നത് കോൾവെൻ ബേയുടെ അർത്ഥം പൂർണ്ണമായും നഷ്ടമാകും.

താഴെക്കൊടുത്തിട്ടുള്ള സിന്റാക്സ് ഉപയോഗിച്ച് ശൂന്യമായ വരികൾ തിരയാൻ നിങ്ങൾക്ക് grep ഉപയോഗിക്കാം:

grep ^ $ places

നിർഭാഗ്യവശാൽ ഇത് വളരെ പ്രയോജനകരമല്ല, കാരണം ഇത് വെറും വാഗ് ലൈൻ നൽകുന്നു.

താഴെ കൊടുത്തിരിക്കുന്ന ഫയൽ സാധുവാണോ എന്നത് പരിശോധിക്കുന്നതിനായി നിങ്ങൾക്ക് തീർച്ചയായും വാചക വരികളുടെ എണ്ണം കണക്കുകൂട്ടാം:

grep -c ^ $ സ്ഥലങ്ങൾ

എന്നിരുന്നാലും ഒരു ഒഴിഞ്ഞ വരിയിലുള്ള ലൈൻ നമ്പറുകൾ അറിയുന്നതിന് ഇത് കൂടുതൽ ഉപയോഗപ്രദമാകും, അങ്ങനെ നിങ്ങൾക്ക് അവയെ മാറ്റിസ്ഥാപിക്കാനാകും. നിങ്ങൾക്കു് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ചു് ചെയ്യാം:

grep -n ^ $ സ്ഥലങ്ങൾ

09 of 09

ഗ്രെപ്പ് ഉപയോഗിച്ചു് വലിയക്ഷരം അല്ലെങ്കിൽ ലോജസ് അക്ഷരങ്ങളുടെ തുലത്തലുകൾക്കായി എങ്ങനെ തിരയാം

ഗ്രെംപ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു ഫയലിൽ ഏത് വരിയിൽ ഏത് സിന്റാക്സ് ഉപയോഗിച്ച് വലിയ അക്ഷരങ്ങൾ ഉണ്ടെന്ന് തീരുമാനിക്കാൻ കഴിയും:

grep '[AZ]' ഫയൽനാമം

പ്രതീകങ്ങളുടെ ശ്രേണിയെ നിർണ്ണയിക്കാൻ ചതുരാകൃതിയിലുള്ള ബ്രാക്കറ്റുകൾ നിങ്ങളെ അനുവദിക്കുന്നു. മുകളിലുള്ള ഉദാഹരണത്തിൽ A, Z എന്നിവയ്ക്കിടയിലുള്ള ഏത് സ്വഭാവവും യോജിക്കുന്നു.

അതിനാൽ ചെറിയക്ഷരങ്ങൾ ചേരുന്നതിന് നിങ്ങൾക്ക് താഴെക്കൊടുത്തിരിക്കുന്ന സിന്റാക്സ് ഉപയോഗിക്കാം:

grep '[az]' ഫയൽനാമം

നിങ്ങൾക്ക് അക്ഷരങ്ങളോ അല്ലെങ്കിൽ സംഖ്യകളോ അല്ല മറിച്ച് പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുത്താൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന സിന്റാക്സ് ഉപയോഗിക്കാം:

grep '[a-zA-Z]' ഫയൽനാമം

താഴെ കൊടുത്തിരിക്കുന്ന നമ്പറുകളിൽ നിങ്ങൾക്ക് അങ്ങനെ ചെയ്യാൻ കഴിയും:

grep '[0-9]' ഫയൽനാമം

09 ൽ 08

ഗ്രീപ്പ് ഉപയോഗിച്ചു് പാറ്റേണുകളുടെ ആവർത്തനത്തിനായി തെരയുന്നു

ആവർത്തിക്കുന്ന പാറ്റേൺ തിരയാൻ നിങ്ങൾക്ക് ചുരുണ്ട ബ്രാക്കറ്റുകൾ ഉപയോഗിക്കാം.

ഫോൺ നമ്പറുകളുള്ള ഒരു ഫയൽ നിങ്ങൾക്കുണ്ടെന്നു സങ്കൽപ്പിക്കുക:

സംഖ്യയുടെ ആദ്യഭാഗം മൂന്ന് അക്കങ്ങളായിരിക്കണം, നിങ്ങൾക്ക് ഈ പാറ്റേൺ പൊരുത്തപ്പെടാത്ത ലൈനുകൾ കണ്ടെത്തണമെന്നു നിങ്ങൾക്കറിയാം.

മുമ്പത്തെ ഉദാഹരണത്തിൽ നിന്ന് നിങ്ങൾക്ക് [0-9] ഒരു ഫയൽ എല്ലാ സംഖ്യകളും നൽകുന്നു.

ഈ സംഖ്യയിൽ നമ്മൾ മൂന്ന് സംഖ്യകൾ ആരംഭിച്ച് ഒരു ഹൈഫൻ (-) തുടരണം. നിങ്ങൾക്ക് താഴെ പറയുന്ന സിന്റാക്സ് ഉപയോഗിച്ച് ചെയ്യാം:

grep "^ [0-9] [0-9] [0-9] -" അക്കങ്ങൾ

മുമ്പത്തെ ഉദാഹരണങ്ങളിൽ നിന്ന് നമുക്ക് മനസ്സിലാക്കാം, carat (^) എന്നത് താഴെപ്പറയുന്ന പാറ്റേൺ ഉപയോഗിച്ച് ആരംഭിക്കണം എന്നാണ്.

0-9 എന്നത് 0 നും 9 നും ഇടയ്ക്കുള്ള ഏതൊരു നമ്പറിനും തിരയും. ഇത് മൂന്നു തവണയായി, ഇത് 3 അക്കങ്ങളുമായി പൊരുത്തപ്പെടുന്നു. അവസാനമായി ഒരു ഹൈഫൻ സൂചിപ്പിക്കുന്നത് മൂന്ന് അക്കങ്ങൾ വിജയിക്കണം എന്നാണ്.

ചുരുള ബ്രായ്ക്കറ്റുകൾ ഉപയോഗിച്ചുകൊണ്ടുള്ള തിരച്ചിൽ താഴെ കാണിക്കും:

grep "^ [0-9] \ {3 \} -" നമ്പറുകൾ

സ്ലാഷ് അതിന്റെ ബ്രാക്കറ്റില് നിന്നും രക്ഷപെടുന്നു, ഇത് റെഗുലര് എക്സ്പ്രഷന് ഭാഗമായി പ്രവര്ത്തിക്കുന്നു. എന്നാല് ഇത് എന്താണ് 0-9 എന്നത് {0}} എന്ന സംഖ്യയാണ്.

ചുരുള ബ്രാക്കറ്റുകൾ ഇനി പറയുന്നവയിലും ഉപയോഗിക്കാം:

{5,10}

{5,}

{5,10} എന്നാൽ ഇതിനർത്ഥം തിരഞ്ഞ പ്രതീകം കുറഞ്ഞത് 5 തവണ ആവർത്തിക്കണം, എന്നാൽ 10 ൽ കൂടുതലോ ആകരുത്, എന്നാൽ 5}} എന്ന രീതിയിൽ ആ കഥാപാത്രം കുറഞ്ഞത് 5 തവണ ആവർത്തിക്കണം എന്നാണ്.

09 ലെ 09

ഗ്രീപ്പ് ഉപയോഗിച്ചു് മറ്റു് കമാൻഡുകളിൽ നിന്നും ഔട്ട്പുട്ട് ഉപയോഗിയ്ക്കുന്നു

ഇതുവരെ നമ്മൾ വ്യക്തിഗത ഫയലുകൾക്കുള്ള പാറ്റേൺ പൊരുത്തപ്പെടുത്തൽ നോക്കിയെങ്കിലും പാറ്റേൺ പൊരുത്തപ്പെടുത്തുന്നതിനുള്ള ഇൻപുട്ടായി മറ്റ് ആജ്ഞകളിൽ നിന്നും ഉത്പന്നം ഉപയോഗിക്കാൻ കഴിയും.

ഇതിന്റെ ഒരു വലിയ ഉദാഹരണം, സജീവ പ്രക്രിയകൾ കാണിക്കുന്ന ps കമാൻഡ് ഉപയോഗിക്കുന്നു.

ഉദാഹരണത്തിന് താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

ps -ef

നിങ്ങളുടെ സിസ്റ്റത്തിലുള്ള റണ്ണിങ് പ്രക്രിയകൾ എല്ലാം കാണിക്കുന്നു.

ഒരു പ്രത്യേക ഓടി നടക്കുന്ന പ്രക്രിയ തെരയുന്നതിനായി നിങ്ങൾക്ക് grep ഉപയോഗിക്കാവുന്നതാണ്.

ps -ef | grep firefox

സംഗ്രഹം

Grep കമാൻഡ് ഒരു അടിസ്ഥാന ലിനക്സ് കമാൻഡാണ്. ടെർമിനൽ ഉപയോഗിക്കുമ്പോൾ ഫയലുകൾക്കും പ്രക്രിയകൾക്കും വേണ്ടി തിരയുമ്പോൾ നിങ്ങളുടെ ജീവിതം കൂടുതൽ എളുപ്പമുള്ളതാക്കുന്നു.