Kā noteikt, vai virknē Bash ir apakšvirkne

Bash

Ievads stīgu saskaņošanas programmā Bash

Bash skriptēšanā bieži sastopams uzdevums ir noteikt, vai virknē ir noteikta apakšvirkne. Šajā rokasgrāmatā tiks aplūkotas šim nolūkam pieejamās metodes. Mēs izmantosim dažādas metodes, lai pārbaudītu apakšvirknes, nodrošinot jūsu skriptu efektīvu un efektīvu darbību.

Mēs sāksim ar vienkāršu piemēru un pakāpeniski izpētīsim progresīvākas metodes. Līdz šīs rokasgrāmatas beigām varēsiet izvēlēties savām īpašajām vajadzībām labāko pieeju un rakstīt tīrākus, lasāmākus Bash skriptus.

Komanda Apraksts
[[ $string == *"$substring"* ]] Pārbauda, ​​vai mainīgā virkne satur apakšvirkni $substring, izmantojot raksta saskaņošanu.
grep -q Klusais režīms grep, atgriež 0, ja tiek atrasta meklēšanas virkne, un 1 pretējā gadījumā, neradot nekādu izvadi.
echo "$string" | grep Meklē apakšvirkni virknē, ievadot virkni grep.
case "$string" in *"$substring"*) Izmanto reģistra paziņojumu paraugu saskaņošanai, lai pārbaudītu, vai virknē atrodas apakšvirkne.
esac Beidz gadījuma paziņojuma bloku.
;; Pārtrauc raksta bloku gadījuma paziņojumā.
-q Grep opcija, kas nomāc izvadi, noderīga klātbūtnes pārbaudei, nerādot atbilstības.

Izpratne par stīgu saskaņošanu valodā Bash

Bash skriptēšanā izplatīta prasība ir noteikt, vai virknē ir noteikta apakšvirkne. Pirmais skripts izmanto Bash modeļu saskaņošanas iespējas. Nosacījums pārbauda, ​​vai mainīgais satur apakšvirkni . Ja raksts ir atrasts, tas atbalsojas "Tas ir tur!". Šī metode ir kodolīga un efektīva vienkāršai apakšvirknes meklēšanai tieši Bash.

Otrais skripts izmanto par to pašu uzdevumu. Atsaucoties uz un pievienojot to , mēs varam pārbaudīt klātbūtni $substring nedaudz savādākā veidā. The opcija to nodrošina darbojas klusā režīmā, atgriež 0, ja tiek atrasta apakšvirkne, bez izvades. Šis skripts ir noderīgs, ja tas ir jāizmanto s jaudīgās teksta meklēšanas iespējas Bash skriptā.

Izmantojot Pattern Matching un Grep

Trešais skripts parāda citu metodi, izmantojot paziņojums, apgalvojums. Lūk, paziņojums pārbauda, ​​vai satur $substring saskaņojot modeli . Ja raksts ir atrasts, tas atbalsojas "Tas ir tur!". Šī pieeja ir noderīga sarežģītākos apstākļos vai gadījumos, kad skriptā ir jāsaskaņo vairāki modeļi.

Visas šīs metodes nodrošina efektīvus veidus, kā pārbaudīt Bash apakšvirknes, un katrai no tām ir savas priekšrocības. Raksta saskaņošana ar ir tiešs un efektīvs vienkāršiem gadījumiem. Izmantojot piedāvā lielāku elastību un jaudīgas teksta apstrādes iespējas, īpaši sarežģītākai virkņu meklēšanai. The paziņojums nodrošina strukturētu un lasāmu veidu, kā apstrādāt vairākus nosacījumus jūsu skriptā. Izpratne par šīm metodēm ļauj izvēlēties labāko pieeju jūsu īpašajām skriptēšanas vajadzībām.

Pārbaude, vai virknē Bash ir apakšvirkne

Bash skriptēšana

#!/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 izmantošana, lai atrastu apakšvirkni programmā Bash

Bash skriptēšana ar 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

Gadījuma paziņojuma izmantošana, lai pārbaudītu apakšvirkni

Bash skriptēšana ar gadījuma paziņojumu

#!/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

Uzlabotas metodes stīgu saskaņošanai valodā Bash

Papildus pamata apakšvirkņu meklēšanai Bash skriptēšana piedāvā arī uzlabotas metodes, piemēram, regulāras izteiksmes un parametru paplašināšanu. Regulārās izteiksmes nodrošina spēcīgu veidu, kā virknēs meklēt modeļus. Izmantojot tādus rīkus kā Ar opcija (paplašinātas regulārās izteiksmes) ļauj definēt sarežģītus meklēšanas modeļus. Piemēram, komanda ļauj virknēs meklēt specifiskākus vai elastīgākus modeļus. Šī metode ir jaudīga, strādājot ar mainīgiem teksta formātiem.

Vēl viens noderīgs paņēmiens ir parametru paplašināšana. Bash nodrošina vairākus parametru paplašināšanas veidus, kurus var izmantot, lai manipulētu ar virknēm un izvilktu apakšvirknes. Piemēram, sintakse izvelk apakšvirkni no sākot no plkst par doto length. Tāpat arī modelis noņem īsāko atbilstību no sākuma , kamēr ${string##substring} noņem garāko sērkociņu. Šīs metodes ir noderīgas, lai precīzāk kontrolētu virkņu manipulācijas jūsu skriptos.

  1. Kāds ir vienkāršākais veids, kā pārbaudīt apakšvirkni valodā Bash?
  2. Vienkāršākā metode ir izmantot modeļa saskaņošanu ar sintakse.
  3. Kā es varu izmantot lai atrastu apakšvirkni?
  4. Tu vari izmantot lai pārbaudītu, vai atrodas iekšā .
  5. Kas ir parametru paplašināšana programmā Bash?
  6. Parametru paplašināšana ir paņēmiens Bash, lai manipulētu ar virknēm. Piemēram, izvelk apakšvirkni.
  7. Vai Bash skriptos var izmantot regulāras izteiksmes?
  8. Jā, jūs varat izmantot regulāras izteiksmes ar tādiem rīkiem kā paplašinātai rakstu saskaņošanai.
  9. Ko dara paziņojums darīt Bash?
  10. The paziņojums ļauj paraugu saskaņošanu ar mainīgo un izpilda komandas, pamatojoties uz saskaņoto modeli.
  11. Kā strādāt?
  12. Šis parametru paplašināšanas veids novērš īsāko atbilstību no sākuma .
  13. Kāda ir atšķirība starp un ?
  14. Pirmā noņem īsāko atbilstību, bet otrā noņem garāko atbilstību no sākuma .
  15. Vai vienā nosacījumā varu pārbaudīt vairākas apakšvirknes?
  16. Jā, jūs varat izmantot paziņojumu, lai pārbaudītu vairākus modeļus vienā stāvoklī.
  17. Kāda ir izmantošana opcija iekšā ?
  18. The opcija iekšā nomāc izvadi un atgriež tikai izejas statusu, padarot to noderīgu nosacījumu pārbaudēm.

Virkņu saskaņošanas apgūšana programmā Bash ir būtiska efektīvai skriptēšanai. Apspriestas metodes, sākot no pamata modeļu saskaņošanas līdz lietošanai un paziņojumus, piedāvā daudzpusīgus risinājumus dažādām vajadzībām. Izprotot un izmantojot šīs metodes, varat uzlabot savu skriptu funkcionalitāti un lasāmību, padarot tos izturīgākus un vieglāk uzturējamus.