tr - Transform, Replace and Remove specific characters from strings | #10 Practical Bash
Innholdsfortegnelse:
- Sammenligningsoperatører
- Sjekk om en streng inneholder en underlagsstreng
- Sjekk om en streng er tom
- Sammenligning av strenger med saksoperatøren
- Leksikografisk sammenligning
- Konklusjon
Når du skriver Bash-skript, vil du ofte måtte sammenligne to strenger for å sjekke om de er like eller ikke. To strenger er like når de har samme lengde og inneholder samme sekvens med tegn.
Denne veiledningen beskriver hvordan du sammenligner strengene i Bash.
Sammenligningsoperatører
Sammenligningsoperatører er operatører som sammenligner verdier og returnerer sant eller usant. Når du sammenligner strenger i Bash, kan du bruke følgende operatører:
-
string1 = string2ogstring1 == string2-string1 == string2returnerer sann hvis operandene er like.- Bruk
=operatøren medtest; then echo "Strings are equal." else echo "Strings are not equal." fi; then echo "Strings are equal." else echo "Strings are not equal." fiNår skriptet kjøres, vil det skrive ut følgende utdata.
Strings are equal.Her er et annet skript som tar innspillene fra brukeren og sammenligner de gitte strengene. I dette eksemplet vil vi bruke
]; then echo "Strings are equal." else echo "Strings are not equal." fi]; then echo "Strings are equal." else echo "Strings are not equal." fiKjør skriptet og skriv inn strengene når du blir bedt om det:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.Du kan også bruke det logiske og
&&og eller||å sammenligne strengene:] && echo "Equal" || echo "Not equal"Sjekk om en streng inneholder en underlagsstreng
Det er flere måter å sjekke om en streng inneholder en substring.
En tilnærming er å bruke surround substring med asterisk symboler
*som betyr samsvarer med alle tegn.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiSkriptet vil gjenskape følgende:
It's there.Et annet alternativ er å bruke regex operator
=~som vist nedenfor:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiPerioden etterfulgt av en stjerne
.*Samsvarer med null eller flere forekommer et hvilket som helst tegn bortsett fra et nylinjetegn.Sjekk om en streng er tom
Ganske ofte må du også sjekke om en variabel er en tom streng eller ikke. Du kan gjøre dette ved å bruke operatørene
-nog-z.#!/bin/bash VAR='' if]; then echo "String is empty." fiString is empty.#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fiSammenligning av strenger med saksoperatøren
I stedet for å bruke testoperatørene kan du også bruke saksuttalelsen til å sammenligne strenger:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esacLeksikografisk sammenligning
Leksikografisk sammenligning er en operasjon der to strenger sammenlignes alfabetisk ved å sammenligne tegnene i en streng sekvensielt fra venstre mot høyre. Denne typen sammenligning brukes sjelden.
Følgende skript sammenligner to strenger leksikografisk:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fiSkriptet vil sende ut følgende:
Ubuntu is lexicographically greater than Linuxize.Konklusjon
Sammenligning av streng er en av de mest grunnleggende og ofte brukte operasjonene i Bash-scripting. Etter å ha lest denne opplæringen, bør du ha en god forståelse av hvordan du sammenligner strengene i Bash. Du kan også sjekke guiden vår om sammenkobling av streng.
bash terminal
- Bruk
Chat-applinje Lanserer sikkerhetsveiledning for tenåringer etter strenger av hendelser
Linje, chat-appen som eksploderer i popularitet i Japan og andre asiatiske land, har utgitt en elektronisk sikkerhetsguide for tenåringer etter en rekke hendelser der den ble brukt til ondsinnet rettferdighet mot unge kvinner.
En helt gratis vpn-tjeneste for Android, uten strenger festet
Vi har sett høyt og lavt for å finne en flott VPN-tjeneste for Android som ikke bare er helt gratis, men som også har svært få annonser. Verdt å prøve!
Hvordan konvertere strenger til heltall i python
Ofte når du skriver Python-kode, trenger du å konvertere en datatype til en annen. I Python kan du konvertere en streng til heltall ved å bruke den innebygde int () -funksjonen.







