ஒரு சரத்தில் பாஷில் சப்ஸ்ட்ரிங் உள்ளதா என்பதை எப்படி தீர்மானிப்பது

ஒரு சரத்தில் பாஷில் சப்ஸ்ட்ரிங் உள்ளதா என்பதை எப்படி தீர்மானிப்பது
Bash

பாஷில் சரம் பொருத்தம் பற்றிய அறிமுகம்

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

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

கட்டளை விளக்கம்
[[ $string == *"$substring"* ]] பேட்டர்ன் மேட்ச்சிங்கைப் பயன்படுத்தி மாறி சரம் $substring என்ற சப்ஸ்ட்ரிங் உள்ளதா என சோதிக்கிறது.
grep -q grep இல் அமைதியான பயன்முறை, தேடல் சரம் கண்டறியப்பட்டால் 0 ஐயும், இல்லையெனில் 1ஐயும் எந்த வெளியீட்டையும் உருவாக்காமல் வழங்கும்.
echo "$string" | grep சரத்தை grep இல் பைப்பிங் செய்வதன் மூலம் சரத்திற்குள் உள்ள துணைச்சரத்தைத் தேடுகிறது.
case "$string" in *"$substring"*) சரத்திற்குள் சப்ஸ்ட்ரிங் இருக்கிறதா என்பதைச் சரிபார்க்க, பேட்டர்ன் மேட்சிங்கிற்கான கேஸ் ஸ்டேட்மெண்ட்டைப் பயன்படுத்துகிறது.
esac வழக்கு அறிக்கை தடையை முடிக்கிறது.
;; ஒரு கேஸ் ஸ்டேட்மெண்டிற்குள் பேட்டர்ன் பிளாக்கை நிறுத்துகிறது.
-q வெளியீட்டை அடக்கும் grep இல் உள்ள விருப்பம், பொருத்தங்களைக் காட்டாமல் இருப்பைச் சரிபார்க்க பயனுள்ளதாக இருக்கும்.

பாஷில் சரம் பொருத்தத்தை புரிந்துகொள்வது

பாஷ் ஸ்கிரிப்டிங்கில், ஒரு சரத்தில் ஒரு குறிப்பிட்ட சப்ஸ்ட்ரிங் உள்ளதா என்பதை தீர்மானிப்பது ஒரு பொதுவான தேவை. முதல் ஸ்கிரிப்ட் பாஷின் பேட்டர்ன் மேட்சிங் திறன்களைப் பயன்படுத்துகிறது. நிலை [[ $string == *"$substring"* ]] மாறி இருக்கிறதா என்று சரிபார்க்கிறது string துணை சரத்தை கொண்டுள்ளது $substring. முறை கண்டுபிடிக்கப்பட்டால், அது "அது இருக்கிறது!" என்று எதிரொலிக்கிறது. பாஷில் நேரடியாக எளிய சப்ஸ்ட்ரிங் தேடல்களுக்கு இந்த முறை சுருக்கமானது மற்றும் திறமையானது.

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

பேட்டர்ன் மேட்சிங் மற்றும் Grep ஐப் பயன்படுத்துதல்

மூன்றாவது ஸ்கிரிப்ட் மற்றொரு முறையைப் பயன்படுத்தி நிரூபிக்கிறது case அறிக்கை. இங்கே, தி case என்பதை அறிக்கை சரிபார்க்கிறது $string கொண்டுள்ளது $substring வடிவத்தை பொருத்துவதன் மூலம் *"$substring"* . முறை கண்டுபிடிக்கப்பட்டால், அது "அது இருக்கிறது!" என்று எதிரொலிக்கிறது. இந்த அணுகுமுறை மிகவும் சிக்கலான நிலைமைகளுக்கு அல்லது ஸ்கிரிப்ட்டில் பல வடிவங்களை பொருத்த வேண்டியிருக்கும் போது பயனுள்ளதாக இருக்கும்.

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

பாஷில் ஒரு சரம் சப்ஸ்ட்ரிங் உள்ளதா எனச் சரிபார்க்கிறது

பேஷ் ஸ்கிரிப்டிங்

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Check if the substring is present
if [[ $string == *"$substring"* ]]; then
  echo "It's there!"
else
  echo "It's not there!"
fi

பாஷில் சப்ஸ்ட்ரிங் கண்டுபிடிக்க grep ஐப் பயன்படுத்தவும்

grep உடன் பாஷ் ஸ்கிரிப்டிங்

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Use grep to check for the substring
if echo "$string" | grep -q "$substring"; then
  echo "It's there!"
else
  echo "It's not there!"
fi

துணைச்சரத்தை சரிபார்க்க வழக்கு அறிக்கையைப் பயன்படுத்துதல்

வழக்கு அறிக்கையுடன் பேஷ் ஸ்கிரிப்டிங்

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Use a case statement to check for the substring
case "$string" in
  *"$substring"*)
    echo "It's there!"
    ;;
  *)
    echo "It's not there!"
    ;;
esac

பாஷில் சரம் பொருத்துவதற்கான மேம்பட்ட நுட்பங்கள்

அடிப்படை சப்ஸ்ட்ரிங் தேடல்கள் தவிர, வழக்கமான வெளிப்பாடுகள் மற்றும் அளவுரு விரிவாக்கம் போன்ற மேம்பட்ட நுட்பங்களையும் பாஷ் ஸ்கிரிப்டிங் வழங்குகிறது. வழக்கமான வெளிப்பாடுகள் சரங்களுக்குள் வடிவங்களைத் தேட ஒரு வலுவான வழியை வழங்குகிறது. போன்ற கருவிகளைப் பயன்படுத்துதல் grep உடன் -E விருப்பம் (நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகள்) சிக்கலான தேடல் வடிவங்களை வரையறுக்க உங்களை அனுமதிக்கிறது. உதாரணமாக, கட்டளை echo "$string" | grep -E 'pattern' உங்கள் சரங்களுக்குள் மேலும் குறிப்பிட்ட அல்லது நெகிழ்வான வடிவங்களைத் தேட உங்களை அனுமதிக்கிறது. மாறி உரை வடிவங்களைக் கையாளும் போது இந்த முறை சக்தி வாய்ந்தது.

மற்றொரு பயனுள்ள நுட்பம் அளவுரு விரிவாக்கம் ஆகும். பாஷ் பலவிதமான அளவுரு விரிவாக்கத்தை வழங்குகிறது, அவை சரங்களைக் கையாளவும் துணைச்சரங்களைப் பிரித்தெடுக்கவும் பயன்படும். உதாரணமாக, தொடரியல் ${string:position:length} இலிருந்து ஒரு துணைச் சரத்தைப் பிரித்தெடுக்கிறது string தொடங்கி position கொடுக்கப்பட்டதற்கு length. இதேபோல், முறை ${string#substring} குறுகிய பொருத்தத்தை நீக்குகிறது substring ஆரம்பத்தில் இருந்து string, போது ${string##substring} நீண்ட போட்டியை நீக்குகிறது. இந்த நுட்பங்கள் உங்கள் ஸ்கிரிப்ட்டுகளுக்குள் சரம் கையாளுதலின் மீது அதிக நுண்ணிய கட்டுப்பாட்டிற்கு உதவியாக இருக்கும்.

பாஷில் சரம் பொருத்துதல் பற்றிய பொதுவான கேள்விகள் மற்றும் பதில்கள்

  1. பாஷில் சப்ஸ்ட்ரிங்கைச் சரிபார்க்க எளிய வழி எது?
  2. உடன் பேட்டர்ன் மேட்சிங் பயன்படுத்துவதே எளிமையான முறை [[ $string == *"$substring"* ]] தொடரியல்.
  3. நான் எப்படி பயன்படுத்தலாம் grep ஒரு சப்ஸ்ட்ரிங் கண்டுபிடிக்க?
  4. நீங்கள் பயன்படுத்தலாம் echo "$string" | grep -q "$substring" என்பதை சரிபார்க்க $substring இல் உள்ளது $string.
  5. பாஷில் அளவுரு விரிவாக்கம் என்றால் என்ன?
  6. அளவுரு விரிவாக்கம் என்பது பாஷில் சரங்களை கையாளும் ஒரு நுட்பமாகும். உதாரணத்திற்கு, ${string:position:length} ஒரு துணை சரத்தை பிரித்தெடுக்கிறது.
  7. பாஷ் ஸ்கிரிப்ட்களில் வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தலாமா?
  8. ஆம், போன்ற கருவிகளுடன் வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தலாம் grep -E நீட்டிக்கப்பட்ட வடிவ பொருத்தத்திற்கு.
  9. என்ன செய்கிறது case அறிக்கை பாஷில் செய்யுமா?
  10. தி case அறிக்கை ஒரு மாறிக்கு எதிராக மாதிரி பொருத்தத்தை அனுமதிக்கிறது மற்றும் பொருந்திய வடிவத்தின் அடிப்படையில் கட்டளைகளை செயல்படுத்துகிறது.
  11. எப்படி செய்கிறது ${string#substring} வேலை?
  12. அளவுரு விரிவாக்கத்தின் இந்த வடிவம் குறுகிய பொருத்தத்தை நீக்குகிறது substring ஆரம்பத்தில் இருந்து string.
  13. என்ன வித்தியாசம் ${string#substring} மற்றும் ${string##substring}?
  14. முந்தையது குறுகிய பொருத்தத்தை நீக்குகிறது, பிந்தையது மிக நீளமான பொருத்தத்தை நீக்குகிறது substring ஆரம்பத்தில் இருந்து string.
  15. ஒரே நிலையில் பல சப்ஸ்ட்ரிங்க்களைச் சரிபார்க்க முடியுமா?
  16. ஆம், நீங்கள் பயன்படுத்தலாம் case ஒரே நிலையில் பல வடிவங்களை சரிபார்க்க அறிக்கை.
  17. என்ன பயன் -q விருப்பம் உள்ள grep?
  18. தி -q விருப்பம் உள்ள grep வெளியீட்டை அடக்குகிறது மற்றும் வெளியேறும் நிலையை மட்டுமே தருகிறது, இது நிபந்தனை சரிபார்ப்புகளுக்கு பயனுள்ளதாக இருக்கும்.

பாஷில் சரம் பொருத்தம் பற்றிய இறுதி எண்ணங்கள்

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