Skip to main content

ఉదాహరణకు Linux grep కమాండ్ యొక్క ఉపయోగాలు

:

Anonim

Linux grep కమాండ్ ఇన్పుట్ వడపోత కోసం ఒక పద్ధతిగా ఉపయోగించబడుతుంది. GREP అనేది గ్లోబల్ రెగ్యులర్ ఎక్స్ప్రెషన్ ప్రింటర్ మరియు ఇది సమర్థవంతంగా ఉపయోగించడానికి, మీరు రెగ్యులర్ వ్యక్తీకరణల గురించి కొంత అవగాహన కలిగి ఉండాలి.

ఈ ఆర్టికల్లో మీరు అనేక ఉదాహరణలను నేర్చుకుంటారు, ఇది మీకు grep కమాండ్ను అర్థం చేసుకోవడానికి సహాయపడుతుంది.

09 లో 01

GREP ఉపయోగించి ఒక ఫైల్ లో ఒక స్ట్రింగ్ కోసం శోధించడానికి ఎలా

మీరు ఈ క్రింది పిల్లల పుస్తకాల శీర్షికలతో ఒక టెక్స్ట్ ఫైల్ను కలిగి ఉన్నట్లు ఆలోచించండి:

  • రాబిన్ హుడ్
  • లిటిల్ రెడ్ రైడింగ్ హుడ్
  • పీటర్ పాన్
  • గోల్డిలాక్స్ మరియు త్రీ బేర్స్
  • స్నో వైట్ మరియు సెవెన్ మరుగుజ్జులు
  • Pinnochio
  • టోపీలో పిల్లి
  • ది లిటిల్ పిగ్స్
  • ది గ్రాఫలో
  • చార్లీ అండ్ ది చాక్లేట్ ఫ్యాక్టరీ

టైటిల్ లో "ది" అనే పదంతో అన్ని పుస్తకాలను కనుగొనడానికి మీరు ఈ క్రింది సింటాక్స్ ను ఉపయోగించుకోవచ్చు:

grep పుస్తకాలు

క్రింది ఫలితాలు ఇవ్వబడతాయి:

  • గోల్డిలాక్స్ మరియు త్రీ బేర్స్
  • స్నో వైట్ మరియు సెవెన్ మరుగుజ్జులు
  • టోపీలో పిల్లి
  • ది లిటిల్ పిగ్స్
  • ది గ్రాఫలో
  • చార్లీ అండ్ ది చాక్లేట్ ఫ్యాక్టరీ

ప్రతి సందర్భంలో, "ది" అనే పదం హైలైట్ చేయబడుతుంది.

ఈ శోధన కేస్ సెన్సిటివ్ కనుక, శీర్షికలలో ఒకటి "ది" కు బదులుగా "ది" కలిగి ఉంటే అది తిరిగి రాలేదు.

ఈ సందర్భంలో విస్మరించడానికి మీరు క్రింది స్విచ్ని జోడించవచ్చు:

grep పుస్తకాలు --ignore-case

మీరు -i స్విచ్ను ఈ క్రింది విధంగా ఉపయోగించవచ్చు:

grep -i పుస్తకాలు

క్రింద పఠనం కొనసాగించు

09 యొక్క 02

వైల్డ్కార్డ్లను ఉపయోగించి ఒక ఫైల్ లో ఒక స్ట్రింగ్ కోసం శోధించండి

Grep కమాండ్ చాలా శక్తివంతమైనది. ఫలితాలను ఫిల్టర్ చేయడానికి మీరు నమూనా సరిపోలిక పద్ధతుల సమూహాన్ని ఉపయోగించవచ్చు.

ఈ ఉదాహరణలో, వైల్డ్కార్డ్లను వుపయోగించి ఒక ఫైల్లో స్ట్రింగ్ కోసం ఎలా శోధించాలో నేను మీకు చూపుతాను.

మీకు క్రింది స్కాట్లాండ్ స్థాన పేర్లతో ఉన్న ప్రదేశాలు అనే ఫైలును ఇమాజిన్ చేయండి:

అబెర్డీన్అబెరైస్ట్వైత్లోనిఅబెర్లౌర్inverurieఇన్వర్నెస్న్యూబర్గ్కొత్త జింకకొత్త కాలేవ్గ్లాస్గోఎడిన్బర్గ్

మీరు ఈ పేరులోని ఇన్వర్తో అన్ని స్థలాలను కనుగొంటే, ఈ క్రింది వాక్యనిర్మాణం ఉపయోగించండి:

grep inver * స్థలాలు

నక్షత్రం (*) వైల్డ్కార్డ్ 0 లేదా అంతకంటే ఎక్కువ. అందువల్ల నీవు ఇన్వెర్నెస్ అని పిలువబడే ప్రదేశం లేదా స్థలం ఉంటే అప్పుడు రెండూ తిరిగి వస్తాయి.

మీరు ఉపయోగించే మరో వైల్డ్కార్డ్ కాలం (.). మీరు ఒకే లేఖకు సరిపోలడానికి దీనిని ఉపయోగించవచ్చు.

grep inver.r స్థలాలు

పైన పేర్కొన్న కమాండ్ ఇన్వర్రియర్ మరియు ఇన్వర్మీరీ అని పిలవబడే స్థలాలను కనుగొంటుంది, అయితే వీటిని పట్టుకోలేము ఎందుకంటే ఒకే రకంగా సూచించినట్లు రెండు r ల మధ్య ఒక వైల్డ్ కార్డు మాత్రమే ఉంటుంది.

కాలం వైల్డ్కార్డ్ ఉపయోగకరంగా ఉంటుంది, కానీ మీరు శోధిస్తున్న టెక్స్ట్లో ఒకదానిలో ఒకటి ఉంటే అది సమస్యలను కలిగిస్తుంది.

ఉదాహరణకు డొమైన్ పేర్ల జాబితాను చూడండి

  • linux.about.com
  • pcsupport.about.com
  • mp3.about.com
  • minecraft.about.com
  • androidgames.about.com
  • netforbeginners.about.com
  • everydaylinuxuser.com
  • google.co.uk
  • google.au
  • direct.gov.uk

గురించి అన్ని కనుగొనేందుకు. కామ్స్ మీరు కేవలం క్రింది సింటాక్స్ ఉపయోగించి శోధించవచ్చు:

* డొమైన్ పేర్లు గురించి grep *

ఈ జాబితాలో కింది పేరు ఉన్నట్లయితే పైన పేర్కొన్న ఆదేశం తగ్గిపోతుంది:

  • everydaylinuxuser.com/about.html

మీరు, కాబట్టి, ఈ క్రింది వాక్యనిర్మాణం ప్రయత్నించండి:

grep * about.com డొమైన్ పేర్లు

కింది పేరుతో డొమైన్ ఉన్నట్లయితే ఇది సరే పని చేస్తుంది:

aboutycom.com

About.com అనే పదానికి నిజంగా శోధించడానికి మీరు ఈ క్రింది విధంగా డాట్ నుండి తప్పించుకోవలసి ఉంటుంది:

grep * గురించి .com డొమైన్ పేర్లు

మీరు చూపించే ఆఖరి వైల్డ్ కార్డు సున్నా లేదా ఒక అక్షరానికి ప్రాతినిధ్యం వహించే ప్రశ్న గుర్తు.

ఉదాహరణకి:

grep? ber placenames

పైన కమాండ్ అబెర్డీన్, అబెర్టిస్ట్వైత్ లేదా బెర్విక్ తిరిగి వస్తుంది.

క్రింద పఠనం కొనసాగించు

09 లో 03

గ్రేప్ ఉపయోగించి లైన్ మరియు ప్రారంభ చివరిలో స్ట్రింగ్స్ కోసం శోధన

క్యారెట్ (^) మరియు డాలర్ ($) గుర్తు మీరు అక్షరాల ప్రారంభ మరియు చివరిలో నమూనాలను శోధించడానికి మిమ్మల్ని అనుమతిస్తాయి.

మీకు ఈ క్రింది జట్టు పేర్లతో ఫుట్బాల్ అనే ఫైల్ ఉంది:

  • బ్లాక్పూల్
  • లివర్పూల్
  • మాంచెస్టర్ సిటీ
  • లీసెస్టర్ సిటీ
  • మాంచెస్టర్ యునైటెడ్
  • న్యూకాజిల్ యునైటెడ్
  • FC యునైటెడ్ మాంచెస్టర్

మాంచెస్టర్తో ప్రారంభమైన అన్ని జట్లు మీరు కోరుకుంటే, మీరు ఈ క్రింది సింటాక్స్ ను ఉపయోగించుకోవచ్చు:

grep ^ మాంచెస్టర్ జట్లు

పైన పేర్కొన్న ఆదేశం మాంచెస్టర్ సిటీ మరియు మాంచెస్టర్ యునైటెడ్ను తిరిగి చేరుకుంటుంది కానీ మాంచెస్టర్ FC యునైటెడ్ కాదు.

ప్రత్యామ్నాయంగా, ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించి యునైటెడ్తో ముగిసిన అన్ని బృందాలు మీరు కనుగొనవచ్చు:

grep యునైటెడ్ $ జట్లు

పైన చెప్పిన ఆదేశం మాంచెస్టర్ యునైటెడ్ మరియు న్యూకాజిల్ యునైటెడ్కు తిరిగి రావొచ్చు, కానీ మాంచెస్టర్ FC యునైటెడ్ కాదు.

04 యొక్క 09

గ్రేప్ ఉపయోగించి మ్యాచ్లు సంఖ్య లెక్కింపు

మీరు grep వుపయోగించి ఒక నమూనాకు సరిపోయే వాస్తవ పంక్తులు తిరిగి రాకూడదనుకుంటే, మీరు ఈ క్రింది వాక్యనిర్మాణాన్ని వాడుకోవచ్చో ఎంతమందికి తెలుసుకోవాలనుకుంటున్నారో:

grep -c నమూనా ఇన్పుట్ఫైల్

నమూనా రెండుసార్లు సరిపోలినట్లయితే అప్పుడు సంఖ్య 2 తిరిగి ఇవ్వబడుతుంది.

క్రింద పఠనం కొనసాగించు

09 యొక్క 05

Grep ఉపయోగించి సరిపోలని అన్ని నిబంధనలను కనుగొనడం

ఈ క్రింది విధంగా జాబితా చేయబడిన దేశాలతో మీరు స్థాన పేర్ల జాబితాను కలిగి ఉన్నారని ఇమాజిన్ చేయండి:

  • అబెర్డీన్ స్కాట్లాండ్
  • గ్లాస్గో స్కాట్లాండ్
  • లివర్పూల్ ఇంగ్లాండ్
  • కాల్విన్ బే
  • లండన్, ఇంగ్లాండ్

మీరు colwyn బే దానితో ఏ దేశానికి సంబంధం లేదని మీరు గమనించవచ్చు.

మీరు ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించగల దేశంలోని అన్ని ప్రాంతాల కోసం వెతకండి:

grep భూమి $ స్థలాలు

ఫలితాల ఫలితాలు కోల్విన్ బేకు మినహా అన్ని స్థలాలుగా ఉంటాయి.

ఇది స్పష్టంగా భూమికి అంతా స్థలాలకు మాత్రమే పనిచేస్తుంది (అరుదుగా శాస్త్రీయంగా ఉంటుంది).

మీరు ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించి ఎంపికను విస్మరించవచ్చు:

grep -v భూమి $ స్థలాలు

భూమితో ముగియని అన్ని స్థలాలను ఇది కనుగొంటుంది.

09 లో 06

ఫైల్స్ లో ఖాళీ లైన్లను కనుగొను ఎలా grep ఉపయోగించి

మీకు ఒక ఇన్పుట్ ఫైల్ ఉంది, ఇది మూడవ పార్టీ అప్లికేషన్ ద్వారా ఉపయోగించబడుతుంది, ఇది ఫైల్ను చదవడం ఆపివేయడంతో ఇది ఒక ఖాళీ లైన్ను క్రింది విధంగా కనుగొంటుంది:

  • అబెర్డీన్ స్కాట్లాండ్
  • ఇన్వర్నెస్ స్కాట్లాండ్
  • లివర్పూల్ ఇంగ్లాండ్
  • కాల్విన్ బే వేల్స్

అప్లికేషన్ లివర్పూల్ తర్వాత లైన్ గెట్స్ అది అర్థం కోల్పోతారు అర్థం colwyn బే పూర్తిగా తప్పిన.

ఈ క్రింది వాక్యనిర్మాణంతో ఖాళీ పంక్తులు కోసం శోధించడానికి మీరు grep ను ఉపయోగించవచ్చు:

grep ^ $ స్థలాలు

దురదృష్టవశాత్తు ఇది ఉపయోగకరంగా ఉండదు ఎందుకంటే ఇది కేవలం ఖాళీ పంక్తులను అందిస్తుంది.

ఈ క్రింది విధంగా చెల్లుబాటు అయ్యేదో చెల్లుబాటు అయ్యేదానిని చూడడానికి ఒక చెక్గా మీరు ఖాళీ గీతాల సంఖ్యను పొందుతారు:

grep -c ^ $ స్థలాలు

అయినప్పటికీ ఖాళీ పంక్తిని కలిగి ఉన్న లైన్ నంబర్లను తెలుసుకోవటానికి ఇది మరింత ఉపయోగకరంగా ఉంటుంది, తద్వారా మీరు వాటిని భర్తీ చేయవచ్చు. మీరు కింది ఆదేశాన్ని చేయవచ్చు:

grep -n ^ $ స్థలాలు

క్రింద పఠనం కొనసాగించు

09 లో 07

గ్రేప్ ఉపయోగించి పెద్ద లేదా తక్కువ అక్షరాల స్ట్రింగ్స్ కోసం ఎలా శోధించాలి

Grep వుపయోగించి మీరు ఏ ఫైల్లోని లైన్లు ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించి పెద్ద అక్షరాలు కలిగివుంటాయో మీరు నిర్ణయించవచ్చు:

grep 'A-Z' ఫైల్ పేరు

చదరపు బ్రాకెట్లు అక్షరాల శ్రేణిని నిర్ణయించడానికి మిమ్మల్ని అనుమతిస్తాయి. పై ఉదాహరణలో ఇది A మరియు Z మధ్య ఉన్న ఏ అక్షరాన్ని సరిపోతుంది.

కాబట్టి చిన్న అక్షరాలను సరిపోల్చడానికి మీరు ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు:

grep 'a-z' ఫైల్ పేరు

మీరు అక్షరాలతో సరిపోలడం మరియు సంఖ్యా శాస్త్రం లేదా ఇతర చిహ్నాలు కాకూడదనుకుంటే మీరు ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు:

grep 'a-zA-Z' ఫైల్ పేరు

ఈ కింది విధంగా మీరు ఒకే విధంగా చేయవచ్చు:

grep '0-9' ఫైల్ పేరు 09 లో 08

గ్రీప్ ఉపయోగించి పద్ధతులు పునరావృత కోసం వెతుకుతున్నారా

పునరావృత నమూనా కోసం శోధించడానికి మీరు కర్లీ బ్రాకెట్లను {} ఉపయోగించవచ్చు.

క్రింది ఫోన్ నంబర్లతో మీకు ఒక ఫైల్ను ఇమాజిన్ చేయండి:

  • 055-1234
  • 055-4567
  • 555-1545
  • 444-0167
  • 444-0854
  • 4549-2234
  • x44-1234

మీరు సంఖ్య యొక్క మొదటి భాగం మూడు అంకెలు ఉండాలి మరియు మీరు ఈ నమూనా సరిపోలని పంక్తులు కనుగొనేందుకు కావలసిన తెలుసు.

మునుపటి ఉదాహరణ నుండి మీరు 0-9 ఒక ఫైల్ లో అన్ని సంఖ్యలను చూపుతున్నారని మీకు తెలుసు.

ఈ సందర్భంలో మనము మూడు సంఖ్యలతో ప్రారంభమయ్యే పంక్తులు తరువాత హైఫన్ (-) చేస్తాము. మీరు ఈ క్రింది సింటాక్స్తో ఇలా చేయవచ్చు:

grep "^ 0-9 0-9 0-9 -" సంఖ్యలు

మునుపటి ఉదాహరణలు నుండి మాకు తెలిసినట్లుగా కరాట్ (^) ఈ క్రింది పంక్తితో లైన్ మొదలవుతుంది.

0-9 0 మరియు 9 మధ్య ఏదైనా సంఖ్య కోసం శోధిస్తుంది. ఇది మూడు సార్లు చేర్చబడినందున అది 3 సంఖ్యలు సరిపోతుంది. చివరగా ఒక హైఫన్ ఉంది, ఇది ఒక హైఫన్ మూడు సంఖ్యలు విజయవంతం కావాలి.

కర్లీ బ్రాకెట్ లను ఉపయోగించడం ద్వారా ఈ క్రింది విధంగా మీరు శోధనను చిన్నగా చేయవచ్చు:

grep "^ 0-9 {3 } -" సంఖ్యలు

స్లాష్ {bracket} తప్పించుకుంటుంది, ఇది సాధారణ వ్యక్తీకరణలో భాగంగా పనిచేస్తుంది కానీ సారాంశం ఏమిటంటే ఇది 0-9 {3} అంటే సంఖ్య 0 మరియు 9 మధ్య మూడు సంఖ్యల మధ్య సంఖ్య.

కర్లీ బ్రాకెట్లను కూడా ఈ క్రింది విధంగా ఉపయోగించవచ్చు:

{5,10}{5,}

{5,10} అంటే ఆ పాత్రను శోధించడం కనీసం 5 సార్లు పునరావృతమవుతుంది, కానీ 10 కంటే ఎక్కువ ఉండకూడదు, అయితే 5}} పాత్ర కనీసం 5 సార్లు పునరావృతమవుతుంది, కానీ దానికంటే ఎక్కువగా ఉంటుంది.

క్రింద పఠనం కొనసాగించు

09 లో 09

ఇతర ఆదేశాల నుండి అవుట్పుట్ ఉపయోగించి grep ఉపయోగించి

ఇంతవరకు మేము వ్యక్తిగత ఫైల్స్లో నమూనా సరిపోలికను చూశాము కానీ grep నమూనాకు సరిపోలే ఇన్పుట్గా ఇతర ఆదేశాల నుండి ఉత్పత్తిని ఉపయోగించవచ్చు.

దీని యొక్క ఒక గొప్ప ఉదాహరణ, ps కమాండ్ ను చురుకుగా ఉన్న ప్రక్రియలను జాబితా చేస్తుంది.

ఉదాహరణకు కింది ఆదేశాన్ని అమలు చేయండి:

ps -ef

మీ సిస్టమ్పై నడుస్తున్న అన్ని ప్రక్రియలు ప్రదర్శించబడతాయి.

మీరు ఈ క్రింది విధంగా ఒక నిర్దిష్ట నడుస్తున్న విధానాన్ని శోధించడానికి grep ఉపయోగించవచ్చు:

ps -ef | grep firefox

సారాంశం

Grep command అనేది ఒక ప్రాథమిక లైనక్స్ ఆదేశం మరియు టెర్మినల్ వుపయోగిస్తున్నప్పుడు ఫైల్స్ మరియు ప్రాసెస్ల కోసం వెతుకుతున్నప్పుడు మీ జీవితాన్ని మరింత సులభంగా నేర్చుకోవడం నేర్చుకోవడం మంచిది.