பாஷில் சரம் கண்டெய்ன்மெண்ட் அறிமுகம்
பாஷ் ஸ்கிரிப்ட்களுடன் பணிபுரியும் போது, ஒரு சரத்தில் ஒரு குறிப்பிட்ட சப்ஸ்ட்ரிங் உள்ளதா என்பதை நீங்கள் சரிபார்க்க வேண்டிய சூழ்நிலைகளை சந்திப்பது பொதுவானது. உள்ளீட்டுத் தரவைப் பாகுபடுத்துதல், சரங்களைச் சரிபார்த்தல் அல்லது குறிப்பிட்ட அளவுகோல்களின் அடிப்படையில் உள்ளடக்கத்தை வடிகட்டுதல் போன்ற பல ஸ்கிரிப்டிங் காட்சிகளில் இது ஒரு அடிப்படைப் பணியாகும்.
இந்தக் கட்டுரையில், நிபந்தனை அறிக்கைகள் மற்றும் `echo` மற்றும் `grep` போன்ற கட்டளைகளைப் பயன்படுத்துவது உட்பட, பாஷில் இதை அடைவதற்கான பல்வேறு முறைகளை ஆராய்வோம். உங்கள் ஸ்கிரிப்ட்களை மிகவும் பராமரிக்கக்கூடியதாகவும், பிழைகள் குறைவாகவும் இருக்கக்கூடிய மிகவும் திறமையான மற்றும் படிக்கக்கூடிய அணுகுமுறைகளை நாங்கள் விவாதிப்போம்.
| கட்டளை | விளக்கம் |
|---|---|
| [[ ]] | பாஷில் சரங்கள் மற்றும் பிற நிபந்தனைகளை சோதிக்க பயன்படுத்தப்படும் நிபந்தனை வெளிப்பாடு. |
| * | ஒரு வைல்டு கார்டு எழுத்து, சரம் மாதிரிப் பொருத்தத்தில் எத்தனை எழுத்துக்களைக் குறிக்கப் பயன்படுகிறது. |
| echo | வாதமாக அனுப்பப்பட்ட உரை அல்லது சரத்தின் வரியைக் காட்டப் பயன்படும் கட்டளை. |
| grep | வழக்கமான வெளிப்பாட்டுடன் பொருந்தக்கூடிய வரிகளுக்கான எளிய உரைத் தரவைத் தேடுவதற்கான கட்டளை வரி பயன்பாடு. |
| -q | சாதாரண வெளியீட்டை அடக்கி, வெளியேறும் நிலையை மட்டும் வழங்கும் grepக்கான விருப்பம். |
| case | பாஷில் உள்ள வடிவங்களைப் பொருத்துவதற்குப் பயன்படுத்தப்படும் நிபந்தனை அறிக்கை. |
| ;; | வெவ்வேறு வடிவ செயல்களைப் பிரிக்க, வழக்கு அறிக்கைகளில் பயன்படுத்தப்படும் ஒரு பிரிப்பான். |
பாஷில் சப்ஸ்ட்ரிங் சரிபார்ப்பைப் புரிந்துகொள்வது
முதல் ஸ்கிரிப்ட்டில், நாங்கள் பயன்படுத்துகிறோம் conditional statements ஒரு சரத்தில் ஒரு குறிப்பிட்ட சப்ஸ்ட்ரிங் உள்ளதா என்பதைச் சரிபார்க்க. நாம் ஒரு முக்கிய சரம் மற்றும் ஒரு துணை சரத்தை வரையறுக்கிறோம், பின்னர் பயன்படுத்தவும் [[ ]] கன்ஸ்ட்ரக்ட், இது மேம்பட்ட சரம் ஒப்பீடுகளை அனுமதிக்கிறது. அடைப்புக்குறிக்குள், நாங்கள் பயன்படுத்துகிறோம் * துணைச்சரத்திற்கு முன்னும் பின்னும் எத்தனை எழுத்துக்களைக் குறிக்க வைல்டு கார்டு. நிபந்தனை உண்மையாக இருந்தால், ஸ்கிரிப்ட் "அது இருக்கிறது!"; இல்லையெனில், அது "அது இல்லை!" என்று அச்சிடுகிறது. இந்த முறை திறமையானது மற்றும் பேட்டர்ன் பொருத்தத்திற்கு பாஷின் உள்ளமைக்கப்பட்ட திறன்களைப் பயன்படுத்துகிறது.
இரண்டாவது ஸ்கிரிப்ட் பயன்படுத்துகிறது echo மற்றும் grep அதே முடிவை அடைய கட்டளையிடுகிறது. நாங்கள் மீண்டும் ஒரு முக்கிய சரம் மற்றும் ஒரு துணை சரத்தை வரையறுக்கிறோம், பிறகு பயன்படுத்தவும் echo முக்கிய சரத்தை வெளியீடு மற்றும் குழாய் அதை grep பயன்படுத்தி -q இயல்பான வெளியீட்டை அடக்குவதற்கான விருப்பம். Grep பிரதான சரத்தில் உள்ள துணைச்சரத்தைத் தேடுகிறது. சப்ஸ்ட்ரிங் கண்டுபிடிக்கப்பட்டால், ஸ்கிரிப்ட் "அது இருக்கிறது!"; இல்லை என்றால், அது "அது இல்லை!" என்று அச்சிடுகிறது. இந்த அணுகுமுறை சக்திவாய்ந்த உரை-தேடல் திறன்களைப் பயன்படுத்துகிறது grep, சிக்கலான உரை வடிவங்கள் பொருத்தப்பட வேண்டிய ஸ்கிரிப்டுகளுக்கு ஏற்றதாக அமைகிறது.
மேம்பட்ட பாஷ் சரம் செயல்பாடுகளை ஆராய்தல்
மூன்றாவது ஸ்கிரிப்ட் a ஐப் பயன்படுத்துகிறது case ஒரு சப்ஸ்ட்ரிங் இருப்பதை சரிபார்க்க அறிக்கை. முக்கிய சரம் மற்றும் துணை சரத்தை வரையறுத்த பிறகு, தி case அறிக்கை வெவ்வேறு வடிவங்களுக்கு எதிராக முக்கிய சரத்துடன் பொருந்துகிறது. சப்ஸ்ட்ரிங் இருந்தால், தொடர்புடைய செயல் செயல்படுத்தப்படும், "அது இருக்கிறது!". சப்ஸ்ட்ரிங் கிடைக்கவில்லை என்றால், இயல்புநிலை செயல் "அது இல்லை!". சரிபார்க்க பல வடிவங்கள் இருக்கும் போது இந்த முறை மிகவும் பயனுள்ளதாக இருக்கும் case அறிக்கை பலவற்றை விட சிக்கலான கிளை தர்க்கத்தை மிகவும் சுத்தமாக கையாள முடியும் if-else அறிக்கைகள்.
ஒட்டுமொத்தமாக, இந்த முறைகள் ஒவ்வொன்றும் பாஷில் ஒரு குறிப்பிட்ட சப்ஸ்ட்ரிங் உள்ளதா என்பதைத் தீர்மானிக்க ஒரு வழியை வழங்குகிறது. முறையின் தேர்வு, தேவையான சரம் பொருத்தத்தின் சிக்கலான தன்மை மற்றும் ஸ்கிரிப்ட்டின் குறிப்பிட்ட தேவைகளைப் பொறுத்தது. பயன்படுத்தி [[ ]] வைல்டு கார்டுகளுடன் இணைக்கும் போது, எளிமையான காசோலைகளுக்கு நேரடியானது மற்றும் திறமையானது echo மற்றும் grep மிகவும் சக்திவாய்ந்த மாதிரி பொருத்தத்தை வழங்குகிறது. தி case அறிக்கை, மறுபுறம், பல பொருந்தக்கூடிய நிலைமைகளை ஒரு கட்டமைக்கப்பட்ட வழியில் கையாளுவதற்கு ஏற்றது.
பாஷில் சப்ஸ்ட்ரிங்க்களைச் சரிபார்க்க நிபந்தனை அறிக்கைகளைப் பயன்படுத்துதல்
பாஷ் ஸ்கிரிப்டிங் முறை
#!/bin/bash# Define the main stringstring="My string"# Define the substring to search forsubstring="foo"# Check if the substring is present in the main stringif [[ "$string" == *"$substring"* ]]; thenecho "It's there!"elseecho "It's not there!"fi
பாஷில் உள்ள சப்ஸ்ட்ரிங்ஸைக் கண்டறிய எக்கோ மற்றும் கிரெப்பைப் பயன்படுத்துதல்
எக்கோ மற்றும் கிரெப் கட்டளைகளை இணைத்தல்
#!/bin/bash# Define the main stringstring="My string"# Define the substring to search forsubstring="foo"# Use echo and grep to check if the substring is presentif echo "$string" | grep -q "$substring"; thenecho "It's there!"elseecho "It's not there!"fi
பாஷில் சப்ஸ்ட்ரிங் கண்டறிதலுக்கு வழக்கு அறிக்கைகளைப் பயன்படுத்துதல்
வழக்கு அறிக்கைகளுடன் பேஷ் ஸ்கிரிப்டிங்
#!/bin/bash# Define the main stringstring="My string"# Define the substring to search forsubstring="foo"# Use case statement to check for the substringcase "$string" in*"$substring"*)echo "It's there!";;*)echo "It's not there!";;esac
பாஷில் சரம் கட்டுப்படுத்துவதற்கான மேம்பட்ட முறைகள்
பாஷில் ஒரு சரத்தில் சப்ஸ்ட்ரிங் உள்ளதா என்பதைச் சரிபார்ப்பதற்கான அடிப்படை முறைகளைத் தவிர, பல்வேறு சூழ்நிலைகளில் பயனுள்ளதாக இருக்கும் மேம்பட்ட நுட்பங்கள் உள்ளன. அத்தகைய முறைகளில் ஒன்று வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவதை உள்ளடக்கியது awk கட்டளை. Awk பேட்டர்ன் ஸ்கேனிங் மற்றும் செயலாக்கத்திற்கான சக்திவாய்ந்த நிரலாக்க மொழியாகும். பயன்படுத்தி awk, நீங்கள் அதிக நெகிழ்வுத்தன்மையுடன் சிக்கலான சரம் செயல்பாடுகளைச் செய்யலாம். உதாரணமாக, நீங்கள் பயன்படுத்தலாம் awk ஒரு சரத்திற்குள் ஒரு துணைச்சரத்தைத் தேட மற்றும் பொருத்தத்தின் அடிப்படையில் செயல்களைச் செய்ய.
மற்றொரு மேம்பட்ட நுட்பம் பயன்படுத்துவதை உள்ளடக்கியது sed கட்டளை, இது ஸ்ட்ரீம் எடிட்டரைக் குறிக்கிறது. Sed தரவு ஸ்ட்ரீம் அல்லது கோப்பில் உரையை பாகுபடுத்துவதற்கும் மாற்றுவதற்கும் பயனுள்ளதாக இருக்கும். நீங்கள் பயன்படுத்தலாம் sed ஒரு துணைச்சரத்தைத் தேட மற்றும் பொருந்திய உரையில் மாற்றீடுகள் அல்லது பிற செயல்பாடுகளைச் செய்ய. இந்த மேம்பட்ட முறைகள், மிகவும் சிக்கலானவை என்றாலும், பாஷ் ஸ்கிரிப்ட்களில் உரை செயலாக்கத்திற்கான சக்திவாய்ந்த திறன்களை வழங்குகின்றன, அதிநவீன சரம் கையாளுதல்கள் தேவைப்படும் பணிகளுக்கு அவை விலைமதிப்பற்றவை.
பாஷில் சரம் கண்டெய்ன்மென்ட் பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- ஒரு சரத்தில் ஒரு சப்ஸ்ட்ரிங் உள்ளதா என்பதை நான் எவ்வாறு சரிபார்க்க வேண்டும் awk?
- ஒரு சரத்தில் சப்ஸ்ட்ரிங் உள்ளதா என்பதைச் சரிபார்க்க awk, நீங்கள் கட்டளையைப் பயன்படுத்தலாம்: echo "$string" | awk '{if ($0 ~ /substring/) print "It's there!"}'
- நான் பயன்படுத்தி கொள்ளலாமா sed துணைச்சரத்தை சரிபார்க்கவா?
- ஆம், நீங்கள் பயன்படுத்தலாம் sed கட்டளையுடன் துணை சரத்தை சரிபார்க்க: echo "$string" | sed -n '/substring/p'
- பயன்படுத்துவதால் என்ன நன்மை awk முடிந்துவிட்டது grep?
- Awk மிகவும் சக்தி வாய்ந்த உரை செயலாக்க திறன்களை வழங்குகிறது மற்றும் பேட்டர்ன் மேட்ச்களின் அடிப்படையில் செயல்களைச் செய்ய முடியும். grep.
- துணைச்சரத்தைத் தேடும்போது வழக்கை நான் எவ்வாறு புறக்கணிப்பது?
- துணைச்சரத்தைத் தேடும்போது வழக்கைப் புறக்கணிக்க, நீங்கள் இதைப் பயன்படுத்தலாம் -i உடன் விருப்பம் grep: echo "$string" | grep -iq "substring"
- பயன்படுத்த முடியுமா regex உடன் if பாஷில் அறிக்கைகள்?
- ஆம், நீங்கள் regex உடன் பயன்படுத்தலாம் if பயன்படுத்தி பாஷ் அறிக்கைகள் =~ ஆபரேட்டர்: if [[ "$string" =~ regex ]]; then
பாஷில் சரம் கண்டெய்ன்மென்ட் பற்றிய இறுதி எண்ணங்கள்
ஒரு சரத்தில் பாஷில் சப்ஸ்ட்ரிங் உள்ளதா என்பதை தீர்மானிப்பது, நிபந்தனை அறிக்கைகள், grep கட்டளைகள் மற்றும் வழக்கு அறிக்கைகள் உட்பட பல முறைகளைப் பயன்படுத்தி செய்யக்கூடிய பொதுவான பணியாகும். ஒவ்வொரு முறையும் சிக்கலைத் தீர்ப்பதற்கான தனித்துவமான அணுகுமுறையை வழங்குகிறது, உங்கள் குறிப்பிட்ட தேவைகளின் அடிப்படையில் மிகவும் பொருத்தமான ஒன்றைத் தேர்வுசெய்ய உங்களை அனுமதிக்கிறது. இந்த நுட்பங்களில் தேர்ச்சி பெறுவதன் மூலம், உங்கள் பாஷ் ஸ்கிரிப்ட்களின் செயல்திறனையும் வாசிப்புத்திறனையும் மேம்படுத்தலாம்.