Grep ஐப் பயன்படுத்தி சுற்றிலும் உள்ள போட்டிகளைக் காட்டவும்

Grep ஐப் பயன்படுத்தி சுற்றிலும் உள்ள போட்டிகளைக் காட்டவும்
Bash

சூழ்நிலை தேடல்களுக்கான மாஸ்டரிங் Grep

உரை கோப்புகளுடன் பணிபுரியும் போது, ​​​​குறிப்பிட்ட வடிவங்கள் அல்லது சரங்களைத் தேடுவது பெரும்பாலும் அவசியம். Unix/Linux இல் உள்ள `grep` கட்டளை இந்த நோக்கத்திற்காக ஒரு சக்திவாய்ந்த கருவியாகும். இருப்பினும், சில நேரங்களில் பொருத்தத்தைக் கண்டறிவது மட்டும் போதாது; சூழலைப் புரிந்துகொள்ள, பொருந்திய வடிவத்தைச் சுற்றியுள்ள கோடுகளையும் நீங்கள் பார்க்க வேண்டும்.

இந்தக் கட்டுரையில், நீங்கள் விரும்பிய வடிவங்களைக் கண்டறிவது மட்டுமின்றி, ஒவ்வொரு போட்டிக்கும் முந்தைய மற்றும் பின்வரும் ஐந்து வரிகளைக் காட்ட `grep` ஐ எவ்வாறு பயன்படுத்துவது என்பதை ஆராய்வோம். பிழைத்திருத்தம், பதிவு பகுப்பாய்வு மற்றும் தரவு பிரித்தெடுத்தல் பணிகளுக்கு இந்த நுட்பம் விலைமதிப்பற்றது.

கட்டளை விளக்கம்
grep -C ஒவ்வொரு போட்டிக்கும் முன்னும் பின்னும் குறிப்பிட்ட எண்ணிக்கையிலான சூழல் வரிகளுடன் பொருந்திய கோடுகளைக் காட்டுகிறது.
#!/bin/bash ஸ்கிரிப்ட் பாஷ் ஷெல் சூழலில் இயக்கப்பட வேண்டும் என்பதைக் குறிப்பிடுகிறது.
import re பைத்தானில் உள்ள வழக்கமான வெளிப்பாடு நூலகத்தை இறக்குமதி செய்கிறது, இது சரங்களுக்குள் பேட்டர்ன் பொருத்தத்தை அனுமதிக்கிறது.
max() எதிர்மறை குறியீடுகளைத் தவிர்க்க இங்கு பயன்படுத்தப்படும் உள்ளீட்டு மதிப்புகளில் மிகப்பெரியதை வழங்குகிறது.
min() பட்டியல் நீளத்திற்கு அப்பாற்பட்ட குறியீடுகளைத் தவிர்க்க, உள்ளீட்டு மதிப்புகளில் மிகச் சிறியதை வழங்கும்.
enumerate() லூப்பில் குறியீட்டு மற்றும் மதிப்பு இரண்டையும் பெறுவதற்கு உபயோகமான, திரும்பச் செய்யக்கூடிய ஒரு கவுண்டரைச் சேர்க்கிறது.
sys.argv பைதான் ஸ்கிரிப்ட்டுக்கு அனுப்பப்பட்ட கட்டளை வரி வாதங்களுக்கான அணுகலை வழங்குகிறது.

Grep சூழல்சார் தேடல் ஸ்கிரிப்ட்களைப் புரிந்துகொள்வது

பாஷில் எழுதப்பட்ட முதல் ஸ்கிரிப்ட், தி grep ஒரு கோப்பில் உள்ள வடிவங்களைத் தேடவும், ஒவ்வொரு போட்டியைச் சுற்றியுள்ள கோடுகளைக் காட்டவும் கட்டளை. தி grep -C விருப்பம் மிகவும் சக்தி வாய்ந்தது, ஏனெனில் ஒவ்வொரு போட்டிக்கும் முன்னும் பின்னும் காட்சிப்படுத்த வேண்டிய சூழல் வரிகளின் எண்ணிக்கையைக் குறிப்பிட பயனர்களை இது அனுமதிக்கிறது. இந்த ஸ்கிரிப்ட்டில், பயனர் ஒரு தேடல் வடிவத்தையும் கோப்புப் பெயரையும் வாதங்களாக வழங்குகிறார். ஸ்கிரிப்ட் பின்னர் செயல்படுத்துகிறது grep -C 5, எங்கே -C 5 சொல்கிறது grep ஒவ்வொரு பொருந்தும் வரிக்கு முன்னும் பின்னும் ஐந்து வரிகளைக் காட்ட. இந்த அணுகுமுறையானது, பெரிய உரைக் கோப்புகளில் உள்ள பொருத்தங்களை விரைவாகக் கண்டறிவதற்கும், சூழல்மயமாக்குவதற்கும் நேரடியானது மற்றும் திறமையானது, இது பதிவு பகுப்பாய்வு அல்லது பிழைத்திருத்தம் போன்ற பணிகளுக்கு ஏற்றதாக அமைகிறது.

பைத்தானில் எழுதப்பட்ட இரண்டாவது ஸ்கிரிப்ட், அதே இலக்கை அடைவதற்கு மிகவும் நிரல் அணுகுமுறையை வழங்குகிறது. இது பயன்படுத்துகிறது re வழக்கமான வெளிப்பாடு பொருத்தத்திற்கான தொகுதி மற்றும் sys.argv கட்டளை வரி வாதங்களைக் கையாளுவதற்கு. தி grep_context செயல்பாடு கோடுகளின் பட்டியலுக்குள் கோப்பைப் படிக்கிறது மற்றும் அவற்றின் மூலம் மீண்டும் செயல்படுகிறது, ஒவ்வொரு வரியையும் ஒரு பொருத்தத்தைப் பயன்படுத்தி சரிபார்க்கிறது re.search. ஒரு பொருத்தம் கண்டறியப்பட்டால், போட்டிக்கு முன்னும் பின்னும் குறிப்பிட்ட வரிகளின் எண்ணிக்கையைச் சேர்க்க தொடக்க மற்றும் முடிவு குறியீடுகளைக் கணக்கிடுகிறது, அவை பட்டியலின் எல்லைக்குள் இருப்பதை உறுதிசெய்கிறது. max மற்றும் min செயல்பாடுகள். இந்த ஸ்கிரிப்ட் நெகிழ்வுத்தன்மையை வழங்குகிறது மற்றும் சூழல் வரம்பை மாற்றுவது அல்லது பிற தரவு செயலாக்க பணிகளுடன் ஒருங்கிணைப்பது போன்ற குறிப்பிட்ட தேவைகளுக்கு ஏற்ப எளிதாக நீட்டிக்க அல்லது மாற்றியமைக்க முடியும்.

சூழ்நிலை வரி தேடல்களுக்கு Grep ஐ எவ்வாறு பயன்படுத்துவது

சூழ்நிலை வரி தேடல்களுக்கான பாஷ் ஸ்கிரிப்ட்

#!/bin/bash
# Usage: ./script.sh pattern filename
pattern=$1
filename=$2
grep -C 5 "$pattern" "$filename"

சூழல் விருப்பங்களுடன் Grep ஐப் பயன்படுத்துதல்

பைதான் ஸ்கிரிப்ட் டு மிமிக் கிரெப்பை சூழலுடன்

import sys
import re
def grep_context(pattern, filename, context=5):
    with open(filename, 'r') as file:
        lines = file.readlines()
    for i, line in enumerate(lines):
        if re.search(pattern, line):
            start = max(i - context, 0)
            end = min(i + context + 1, len(lines))
            for l in lines[start:end]:
                print(l, end='')
if __name__ == "__main__":
    pattern = sys.argv[1]
    filename = sys.argv[2]
    grep_context(pattern, filename)

சூழல் தேடல்களுக்கான மேம்பட்ட Grep விருப்பங்களை ஆராய்தல்

அடிப்படைக்கு அப்பாற்பட்டது grep -C விருப்பம், பல மேம்பட்டது grep வடிவங்களைத் தேடும் போது மற்றும் சுற்றியுள்ள கோடுகளைக் காண்பிக்கும் போது விருப்பங்கள் இன்னும் அதிக கட்டுப்பாடு மற்றும் நெகிழ்வுத்தன்மையை வழங்குகின்றன. அத்தகைய ஒரு விருப்பம் grep -A, இது ஒவ்வொரு போட்டிக்குப் பிறகும் குறிப்பிட்ட எண்ணிக்கையிலான வரிகளைக் காட்டுகிறது. உங்கள் பகுப்பாய்விற்கு போட்டியைத் தொடர்ந்து வரும் சூழல் மிகவும் முக்கியமானதாக இருக்கும் போது இது மிகவும் பயனுள்ளதாக இருக்கும். இதேபோல், grep -B ஒவ்வொரு போட்டிக்கு முன்பும் கோடுகளைக் காட்டுகிறது, முன்னணி சூழலின் ஒருமுகமான பார்வையை வழங்குகிறது. இந்த விருப்பங்களை இணைத்து, உங்கள் தேவைகளுக்குத் துல்லியமாக பொருந்தக்கூடிய வெளியீட்டை நீங்கள் வடிவமைக்கலாம்.

மற்றொரு சக்திவாய்ந்த அம்சம் உள்ளே வழக்கமான வெளிப்பாடுகள் பயன்பாடு ஆகும் grep. வழக்கமான வெளிப்பாடுகளை மேம்படுத்துவதன் மூலம், எளிமையான சரம் பொருத்தத்திற்கு அப்பால் செல்லும் சிக்கலான தேடல்களை நீங்கள் செய்யலாம். உதாரணமாக, பயன்படுத்தி -E உடன் விருப்பம் grep நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்த அனுமதிக்கிறது, மேலும் விரிவான வடிவ பொருத்துதல் திறனை வழங்குகிறது. வெவ்வேறு நீளங்கள் அல்லது வடிவங்களைக் கொண்ட வடிவங்களை நீங்கள் பொருத்த வேண்டிய சூழ்நிலைகளில் இது பயனுள்ளதாக இருக்கும். கூடுதலாக, grep ஆதரிக்கிறது --color விருப்பம், இது வெளியீட்டில் பொருந்திய வடிவங்களை முன்னிலைப்படுத்துகிறது, இது உரையின் பெரிய தொகுதிகளில் உள்ள பொருத்தங்களை பார்வைக்கு எளிதாகக் கண்டறிய உதவுகிறது.

Grep மற்றும் சூழ்நிலை தேடல்கள் பற்றிய பொதுவான கேள்விகள்

  1. grep ஐப் பயன்படுத்தி ஒவ்வொரு போட்டிக்குப் பிறகும் வரிகளை மட்டும் எப்படிக் காட்டுவது?
  2. பயன்படுத்த grep -A ஒவ்வொரு போட்டிக்குப் பிறகும் நீங்கள் காட்ட விரும்பும் வரிகளின் எண்ணிக்கையைத் தொடர்ந்து விருப்பம்.
  3. grep உடனான போட்டிக்கு முன் நான் எப்படி வரிகளைக் காட்டுவது?
  4. தி grep -B ஒவ்வொரு போட்டிக்கு முன்பும் வரிகளைக் காட்ட விருப்பம் உங்களை அனுமதிக்கிறது, அதைத் தொடர்ந்து வரிகளின் எண்ணிக்கை.
  5. போட்டிக்கு முன்னும் பின்னும் வரிகளைக் காட்ட விருப்பங்களை இணைக்க முடியுமா?
  6. ஆம், இணைத்தல் grep -A மற்றும் -B விருப்பங்கள் ஒவ்வொரு போட்டிக்கு முன்னும் பின்னும் வரிகளைக் காண்பிக்கும்.
  7. grep --color விருப்பம் என்ன செய்கிறது?
  8. தி --color விருப்பமானது வெளியீட்டில் பொருந்திய வடிவங்களை முன்னிலைப்படுத்துகிறது, அவற்றைப் பார்ப்பதை எளிதாக்குகிறது.
  9. grep உடன் வழக்கமான வெளிப்பாடுகளை எவ்வாறு பயன்படுத்துவது?
  10. பயன்படுத்த grep -E மிகவும் சிக்கலான வடிவப் பொருத்தத்திற்கு நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளை இயக்குவதற்கான விருப்பம்.
  11. grep காட்சிகளின் போட்டிகளின் எண்ணிக்கையைக் கட்டுப்படுத்த வழி உள்ளதா?
  12. ஆம், தி grep -m ஒரு எண்ணைத் தொடர்ந்து ஒரு விருப்பம் காட்டப்படும் பொருத்தங்களின் எண்ணிக்கையைக் கட்டுப்படுத்துகிறது.
  13. நான் grep தேடல்களை கேஸ் இன்சென்சிட்டிவ் செய்யலாமா?
  14. பயன்படுத்தி grep -i விருப்பம் தேடலை கேஸ்-சென்சிட்டிவ் ஆக்குகிறது.
  15. grep மூலம் பல கோப்புகளில் பேட்டர்ன்களை எப்படி தேடுவது?
  16. நீங்கள் பல கோப்புப் பெயர்களை வழங்கலாம் அல்லது வைல்டு கார்டுகளைப் பயன்படுத்தலாம் grep ஒரே நேரத்தில் பல கோப்புகளில் தேட.

சூழ்நிலை தேடல்களுக்கான மேம்பட்ட Grep விருப்பங்களை ஆராய்தல்

அடிப்படைக்கு அப்பாற்பட்டது grep -C விருப்பம், பல மேம்பட்டது grep வடிவங்களைத் தேடும் போது மற்றும் சுற்றியுள்ள கோடுகளைக் காண்பிக்கும் போது விருப்பங்கள் இன்னும் அதிக கட்டுப்பாடு மற்றும் நெகிழ்வுத்தன்மையை வழங்குகின்றன. அத்தகைய ஒரு விருப்பம் grep -A, இது ஒவ்வொரு போட்டிக்குப் பிறகும் குறிப்பிட்ட எண்ணிக்கையிலான வரிகளைக் காட்டுகிறது. உங்கள் பகுப்பாய்விற்கு போட்டியைத் தொடர்ந்து வரும் சூழல் மிகவும் முக்கியமானதாக இருக்கும் போது இது மிகவும் பயனுள்ளதாக இருக்கும். இதேபோல், grep -B ஒவ்வொரு போட்டிக்கு முன்பும் கோடுகளைக் காட்டுகிறது, முன்னணி சூழலின் ஒருமுகமான பார்வையை வழங்குகிறது. இந்த விருப்பங்களை இணைத்து, உங்கள் தேவைகளுக்குத் துல்லியமாக பொருந்தக்கூடிய வெளியீட்டை நீங்கள் வடிவமைக்கலாம்.

மற்றொரு சக்திவாய்ந்த அம்சம் உள்ளே வழக்கமான வெளிப்பாடுகள் பயன்பாடு ஆகும் grep. வழக்கமான வெளிப்பாடுகளை மேம்படுத்துவதன் மூலம், எளிமையான சரம் பொருத்தத்திற்கு அப்பால் செல்லும் சிக்கலான தேடல்களை நீங்கள் செய்யலாம். உதாரணமாக, பயன்படுத்தி -E உடன் விருப்பம் grep நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்த அனுமதிக்கிறது, மேலும் விரிவான வடிவ பொருத்துதல் திறனை வழங்குகிறது. வெவ்வேறு நீளங்கள் அல்லது வடிவங்களைக் கொண்ட வடிவங்களை நீங்கள் பொருத்த வேண்டிய சூழ்நிலைகளில் இது பயனுள்ளதாக இருக்கும். கூடுதலாக, grep ஆதரிக்கிறது --color விருப்பம், இது வெளியீட்டில் பொருந்திய வடிவங்களை முன்னிலைப்படுத்துகிறது, இது உரையின் பெரிய தொகுதிகளில் உள்ள பொருத்தங்களை பார்வைக்கு எளிதாகக் கண்டறிய உதவுகிறது.

முக்கிய புள்ளிகளை சுருக்கவும்

இணைப்பதன் மூலம் grep விருப்பங்கள் மற்றும் ஸ்கிரிப்டிங் மொழிகள் போன்றவை Python, நீங்கள் திறமையாக வடிவங்களைத் தேடலாம் மற்றும் உரைக் கோப்புகளில் சுற்றியுள்ள சூழல் வரிகளைக் காட்டலாம். இந்த முறைகள் தரவை பகுப்பாய்வு செய்வதற்கும் விளக்குவதற்கும் உங்கள் திறனை மேம்படுத்துகின்றன, அவை பதிவு பகுப்பாய்வு, பிழைத்திருத்தம் மற்றும் தரவு பிரித்தெடுத்தல் பணிகளுக்கான மதிப்புமிக்க கருவிகளாக அமைகின்றன.