Linux లో Grep కమాండ్

Grep Command Linux



Grep (గ్లోబల్ రెగ్యులర్ ఎక్స్‌ప్రెషన్ ప్రింట్) కమాండ్ అత్యంత శక్తివంతమైన మరియు క్రమం తప్పకుండా ఉపయోగించే లైనక్స్ కమాండ్-లైన్ యుటిలిటీ. Grep ఉపయోగించి, మీరు శోధన ప్రమాణాలను పేర్కొనడం ద్వారా ఉపయోగకరమైన సమాచారం కోసం శోధించవచ్చు. ఇది పేర్కొన్న ఫైల్‌లో నిర్దిష్ట వ్యక్తీకరణ నమూనా కోసం శోధిస్తుంది. ఇది సరిపోలికను కనుగొన్నప్పుడు, పేర్కొన్న నమూనాకు సరిపోయే ఫైల్ యొక్క అన్ని పంక్తులను ఇది ప్రింట్ చేస్తుంది. మీరు పెద్ద లాగ్ ఫైల్స్ ద్వారా ఫిల్టర్ చేయవలసి వచ్చినప్పుడు ఇది ఉపయోగపడుతుంది.

ఈ వ్యాసంలో, వివిధ ఉదాహరణలతో grep యుటిలిటీ వాడకాన్ని మేము వివరిస్తాము. ఈ వ్యాసంలో పేర్కొన్న ఆదేశాలు మరియు పద్ధతులను వివరించడానికి మేము డెబియన్ 10 ని ఉపయోగిస్తాము.







Grep ని ఇన్‌స్టాల్ చేస్తోంది

చాలా లైనక్స్ పంపిణీలలో Grep ఇన్‌స్టాల్ చేయబడింది. అయితే, ఇది మీ సిస్టమ్‌లో లేదు, మీరు టెర్మినల్‌లో కింది పద్ధతిని ఉపయోగించి దీన్ని ఇన్‌స్టాల్ చేయవచ్చు:



$సుడో apt-get install పట్టు

Grep ఉపయోగించి

Grep కమాండ్ యొక్క ప్రాథమిక వాక్యనిర్మాణం ఇక్కడ ఉంది. ఇది grep తో మొదలవుతుంది మరియు కొన్ని ఎంపికలు మరియు శోధన ప్రమాణాలు మరియు తరువాత ఫైల్ పేరుతో ముగుస్తుంది.



$పట్టు [ఎంపికలు]నమూనా[ఫైల్ ...]

ఫైళ్ల కోసం వెతకండి

డైరెక్టరీలో ఫైల్ పేరు కోసం సెర్చ్ చేయడానికి అందులో నిర్దిష్ట స్ట్రింగ్ ఉంటుంది, మీరు ఈ క్రింది విధంగా grep ని ఉపయోగించవచ్చు:





$ls -ది | పట్టు -ఐస్ట్రింగ్

ఉదాహరణకు, స్ట్రింగ్ ఉన్న ఫైల్ పేరు కోసం శోధించడానికి పరీక్ష , ఆదేశం ఇలా ఉంటుంది:

$ls-ది| పట్టు–Iపరీక్ష

ఈ ఆదేశం స్ట్రింగ్ ఉన్న అన్ని ఫైల్‌లను జాబితా చేస్తుంది పరీక్ష .



ఫైల్‌లో స్ట్రింగ్ కోసం శోధించండి

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

$పట్టుస్ట్రింగ్ ఫైల్ పేరు

ఉదాహరణకు, స్ట్రింగ్ కోసం శోధించడానికి పరీక్ష అనే ఫైల్‌లో పరీక్ష ఫైల్ 1 , మేము కింది ఆదేశాన్ని ఉపయోగించాము :

$పట్టుఉద్యోగి టెస్ట్ ఫైల్ 1

పై అవుట్‌పుట్ వాక్యం నుండి తిరిగి వచ్చింది పరీక్ష ఫైల్ 1 అందులో స్ట్రింగ్ ఉంటుంది ఉద్యోగి .

బహుళ ఫైల్‌లలో స్ట్రింగ్ కోసం శోధించండి

బహుళ ఫైల్‌లలో స్ట్రింగ్ కోసం శోధించడానికి, మీరు కింది ఆదేశ సింటాక్స్‌ను ఉపయోగించవచ్చు:

$పట్టుస్ట్రింగ్ ఫైల్ పేరు 1 ఫైల్ పేరు 2

ఉదాహరణకు, మా రెండు ఫైల్స్ testfile1 మరియు testfile2 లో స్ట్రింగ్ ఉద్యోగి కోసం వెతకడానికి, మేము ఈ కింది ఆదేశాన్ని ఉపయోగించాము:

$పట్టుఉద్యోగి testfile1 testfile2

టెస్ట్‌ఫైల్ 1 మరియు టెస్ట్‌ఫైల్ 2 ఫైల్స్ నుండి స్ట్రింగ్ ఉద్యోగిని కలిగి ఉన్న అన్ని లైన్‌లను పై కమాండ్ జాబితా చేస్తుంది.

అన్ని ఫైల్ పేర్లు ఒకే టెక్స్ట్‌తో ప్రారంభమైతే మీరు వైల్డ్‌కార్డ్ అక్షరాన్ని కూడా ఉపయోగించవచ్చు.

$పట్టుస్ట్రింగ్ ఫైల్ పేరు*

ఇలా, మన ఫైల్ పేర్లు ఉన్న పై ఉదాహరణను తీసుకుంటే testfile1 మరియు testfile2 , ఆదేశం ఇలా ఉంటుంది:

$పట్టుఉద్యోగి టెస్ట్ ఫైల్*

స్ట్రింగ్ కేసును విస్మరించడం ద్వారా ఫైల్‌లో స్ట్రింగ్ కోసం శోధించండి

చాలా తరచుగా, మీరు grep ఉపయోగించి దేనినైనా శోధించినప్పుడు అవుట్‌పుట్‌ను అందుకోకపోవడాన్ని మీరు ఎదుర్కొన్నారు. స్ట్రింగ్ కోసం వెతుకుతున్నప్పుడు కేస్ అసమతుల్యత కారణంగా ఇది జరుగుతుంది. మా ఉదాహరణలో వలె, మనం పొరపాటున ఉపయోగిస్తే ఉద్యోగి బదులుగా ఉద్యోగి , మా ఫైల్‌లో స్ట్రింగ్ ఉన్నందున ఇది శూన్యంగా తిరిగి వస్తుంది ఉద్యోగి చిన్న అక్షరాలలో.

ఈ క్రింది విధంగా grep తర్వాత –i ఫ్లాగ్‌ని ఉపయోగించడం ద్వారా సెర్చ్ స్ట్రింగ్ కేసును విస్మరించమని మీరు grep కి చెప్పవచ్చు:

$పట్టు–I స్ట్రింగ్ ఫైల్ పేరు

–I ఫ్లాగ్‌ని ఉపయోగించడం ద్వారా, కమాండ్ కేస్ సెన్సిటివ్ సెర్చ్‌ను నిర్వహిస్తుంది మరియు స్ట్రింగ్ ఉన్న అన్ని లైన్‌లను అందిస్తుంది ఉద్యోగి అందులో అక్షరాలు పెద్ద అక్షరం లేదా చిన్న అక్షరాలను పరిగణనలోకి తీసుకోకుండా ఉంటాయి.

సాధారణ వ్యక్తీకరణను ఉపయోగించి శోధించండి

సరిగ్గా ఉపయోగించినట్లయితే, రెగ్యులర్ ఎక్స్‌ప్రెషన్ అనేది grep లో చాలా ప్రభావవంతమైన ఫీచర్. Grep ఆదేశంతో, మీరు ప్రారంభ మరియు ముగింపు కీవర్డ్‌తో సాధారణ వ్యక్తీకరణను నిర్వచించవచ్చు. అలా చేయడం ద్వారా, మీరు మొత్తం లైన్‌ను grep కమాండ్‌తో టైప్ చేయాల్సిన అవసరం లేదు. ఈ ప్రయోజనం కోసం కింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు.

$పట్టుప్రారంభ కీవర్డ్.*ముగింపు కీవర్డ్ ఫైల్ పేరు

ఉదాహరణకు, స్ట్రింగ్‌తో మొదలయ్యే మరియు స్ట్రింగ్ డేటాతో ముగిసే టెస్ట్‌ఫైల్ 1 అనే ఫైల్‌లో ఒక లైన్ కోసం వెతకడానికి, మేము ఈ కింది ఆదేశాన్ని ఉపయోగించాము:

$పట్టుఈ.*డేటా టెస్ట్ ఫైల్ 1

ఇది నుండి మొత్తం పంక్తిని ప్రింట్ చేస్తుంది పరీక్ష ఫైల్ 1 వ్యక్తీకరణను కలిగి ఉంది (ఇది ప్రారంభ కీవర్డ్ మరియు ముగింపు కీవర్డ్ డేటా).

శోధన స్ట్రింగ్ తర్వాత/ముందు నిర్దిష్ట సంఖ్యలో పంక్తులను ముద్రించండి

సరిపోలే స్ట్రింగ్‌తో పాటు స్ట్రింగ్ మ్యాచ్‌కు ముందు/తర్వాత కూడా మీరు నిర్దిష్ట సంఖ్యలో లైన్‌లను ఫైల్‌లో ప్రదర్శించవచ్చు. ఈ ప్రయోజనం కోసం కింది వాక్యనిర్మాణం ఉపయోగించవచ్చు:

$పట్టు -టూ <ఎన్>స్ట్రింగ్ ఫైల్ పేరు

సరిపోలిన స్ట్రింగ్‌తో సహా పేర్కొన్న ఫైల్‌లో స్ట్రింగ్ సరిపోలిన తర్వాత ఇది N సంఖ్యల పంక్తులను ప్రదర్శిస్తుంది.

ఉదాహరణకు, ఇది మా నమూనా ఫైల్ testfile2 .

కింది ఆదేశం స్ట్రింగ్ ఉన్న సరిపోలిన లైన్‌ను అవుట్‌పుట్ చేస్తుంది ఉద్యోగి , దాని తర్వాత 2 లైన్లతో పాటు.

$పట్టు-టూ2–I ఉద్యోగి టెస్ట్ ఫైల్ 2

అదేవిధంగా, నిర్దిష్ట ఫైల్‌లో సరిపోలిన స్ట్రింగ్ ముందు N సంఖ్యల పంక్తులను ప్రదర్శించడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

$పట్టు -బి <ఎన్>స్ట్రింగ్ ఫైల్ పేరు

నిర్దిష్ట ఫైల్‌లో స్ట్రింగ్ చుట్టూ N సంఖ్యల పంక్తులను ప్రదర్శించడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

$పట్టు -సి <ఎన్>స్ట్రింగ్ ఫైల్ పేరు

శోధనను హైలైట్ చేస్తోంది

డిఫాల్ట్‌గా ముద్రించిన సరిపోలిన పంక్తులను పట్టుకోండి కానీ లైన్ యొక్క ఏ భాగాన్ని సరిపోల్చారో చూపదు. మీరు grep తో – రంగు ఎంపికను ఉపయోగిస్తే, మీ ఫైల్‌లో మ్యాచింగ్ స్ట్రింగ్‌లు ఎక్కడ కనిపిస్తాయో అది చూపుతుంది. హైలైట్ చేయడానికి డిఫాల్ట్‌గా గ్రేప్ ఎరుపు రంగును ఉపయోగించండి.

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

$పట్టుస్ట్రింగ్ ఫైల్ పేరు-రంగు

మ్యాచ్‌ల సంఖ్యను లెక్కిస్తోంది

నిర్దిష్ట ఫైల్‌లో నిర్దిష్ట పదం ఎన్నిసార్లు కనిపిస్తుందో మీరు లెక్కించాలనుకుంటే, మీరు grep with –c ఎంపికను ఉపయోగించవచ్చు. ఇది మ్యాచ్‌ల కంటే మ్యాచ్‌ల సంఖ్యను మాత్రమే అందిస్తుంది. ఈ ప్రయోజనం కోసం కింది వాక్యనిర్మాణం ఉపయోగించవచ్చు:

$పట్టు–C స్ట్రింగ్ ఫైల్ పేరు

ఇది మా నమూనా ఫైల్ లాగా ఉంది:

పదాన్ని ఎన్నిసార్లు తిరిగి ఇచ్చామో ఒక కమాండ్ యొక్క ఉదాహరణ ఫైల్ అనే ఫైల్‌లో కనిపించింది పరీక్ష ఫైల్ 3 .

విలోమ శోధన

కొన్నిసార్లు, మీరు ఇన్‌పుట్‌తో సరిపోలినవి మినహా అన్ని పంక్తులను ప్రదర్శించే రివర్స్ సెర్చ్ చేయాలనుకుంటున్నారు. అలా చేయడానికి, –v జెండాను అనుసరించి grep ఉపయోగించండి:

$పట్టు–V స్ట్రింగ్ ఫైల్ పేరు

ఉదాహరణకు, ఫైల్‌లోని అన్ని పంక్తులను ప్రదర్శించడానికి పరీక్ష ఫైల్ 3 వాటిలో అకౌంట్ అనే పదం లేదు, మేము ఈ క్రింది ఆదేశాన్ని ఉపయోగించాము:

$పట్టు–V ఖాతా టెస్ట్ ఫైల్ 3

ఇతర ఆదేశాలతో Grep ని ఉపయోగించడం

వివిధ ఆదేశాల అవుట్‌పుట్ నుండి అవసరమైన ఫలితాన్ని ఫిల్టర్ చేయడానికి కూడా Grep ఉపయోగించవచ్చు. ఉదాహరణకు, నుండి సముచితంగా ఇన్‌స్టాల్ చేయబడిన జాబితా కమాండ్ అవుట్‌పుట్, మీరు స్వయంచాలకంగా ఇన్‌స్టాల్ చేయబడిన ప్యాకేజీలను మాత్రమే కనుగొనాలనుకుంటున్నారు, మీరు ఈ క్రింది విధంగా grep ఉపయోగించి ఫలితాన్ని ఫిల్టర్ చేయవచ్చు:

$సముచితమైనది--ఇన్‌స్టాల్ చేయబడిందిజాబితా| పట్టుఆటోమేటిక్

అదేవిధంగా, lscpu CPU గురించి వివరణాత్మక సమాచారాన్ని అందిస్తుంది. CPU నిర్మాణానికి సంబంధించిన సమాచారంపై మీకు ఆసక్తి ఉంటే, కింది ఆదేశాన్ని ఉపయోగించి మీరు దాన్ని ఫిల్టర్ చేయవచ్చు:

$lscpu| పట్టుఆర్కిటెక్చర్

ఈ వ్యాసంలో, grep ఆదేశాలను మరియు వివిధ పరిస్థితులలో దాని ఉపయోగాన్ని అర్థం చేసుకోవడంలో మీకు సహాయపడే కొన్ని ఉదాహరణలను మేము వివరించాము. మీరు పెద్ద కాన్ఫిగరేషన్ లేదా లాగ్ ఫైల్‌లను చూడవలసి వస్తే మరియు వాటి ద్వారా ఉపయోగకరమైన సమాచారాన్ని స్కిమ్ చేయాల్సి వస్తే grep కమాండ్‌పై బలమైన పట్టు ఉండటం వల్ల చాలా సమయం ఆదా అవుతుంది.