how to find length of string in bash
Inhoudsopgave:
- Vergelijkingsoperatoren
- Controleer of een string een substring bevat
- Controleer of een string leeg is
- Strings vergelijken met de case-operator
- Lexicografische vergelijking
- Conclusie
Wanneer u Bash-scripts schrijft, moet u vaak twee strings vergelijken om te controleren of ze gelijk zijn of niet. Twee tekenreeksen zijn gelijk wanneer ze dezelfde lengte hebben en dezelfde reeks tekens bevatten.
Deze tutorial beschrijft hoe je strings in Bash kunt vergelijken.
Vergelijkingsoperatoren
Vergelijkingsoperatoren zijn operatoren die waarden vergelijken en waar of onwaar retourneren. Bij het vergelijken van strings in Bash kunt u de volgende operatoren gebruiken:
-
string1 = string2enstring1 == string2- De operator voor gelijkheid retourneert true als de operanden gelijk zijn.- Gebruik de operator
=met detest; then echo "Strings are equal." else echo "Strings are not equal." fi; then echo "Strings are equal." else echo "Strings are not equal." fiWanneer het script wordt uitgevoerd, wordt de volgende uitvoer afgedrukt.
Strings are equal.Hier is een ander script dat de invoer van de gebruiker neemt en de gegeven strings vergelijkt. In dit voorbeeld gebruiken we de
]; then echo "Strings are equal." else echo "Strings are not equal." fi]; then echo "Strings are equal." else echo "Strings are not equal." fiVoer het script uit en voer de tekenreeksen in wanneer daarom wordt gevraagd:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.U kunt ook de logische en
&&en of||om strings te vergelijken:] && echo "Equal" || echo "Not equal"Controleer of een string een substring bevat
Er zijn meerdere manieren om te controleren of een string een substring bevat.
Een benadering is om de substring te omringen met asterisk-symbolen
*wat betekent dat alle tekens overeenkomen.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiHet script echo het volgende:
It's there.Een andere optie is om de regex-operator
=~zoals hieronder weergegeven:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiDe periode gevolgd door een asterisk
.*Komt overeen met nul of meer tekens, behalve een nieuweteken.Controleer of een string leeg is
Heel vaak moet u ook controleren of een variabele een lege string is of niet. U kunt dit doen met behulp van de operatoren
-nen-z.#!/bin/bash VAR='' if]; then echo "String is empty." fiString is empty.#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fiStrings vergelijken met de case-operator
In plaats van de testoperators te gebruiken, kunt u ook de case-instructie gebruiken om strings te vergelijken:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esacLexicografische vergelijking
Lexicografische vergelijking is een bewerking waarbij twee strings alfabetisch worden vergeleken door de tekens in een string opeenvolgend van links naar rechts te vergelijken. Dit soort vergelijking wordt zelden gebruikt.
De volgende scripts vergelijken lexicografisch twee strings:
#!/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" fiHet script zal het volgende uitvoeren:
Ubuntu is lexicographically greater than Linuxize.Conclusie
Het vergelijken van tekenreeksen is een van de meest elementaire en meest gebruikte bewerkingen in Bash-scripts. Na het lezen van deze tutorial, zou je een goed begrip moeten hebben van hoe je strings in Bash kunt vergelijken. U kunt ook onze gids raadplegen over het samenvoegen van tekenreeksen.
bash-terminal
- Gebruik de operator
Hoe ze naast elkaar te vergelijken van twee pdf-bestanden met behulp van diffpdf
Meer informatie over het maken van een vergelijking van twee PDF-bestanden met DiffPDF.
Hoe twee documenten in ms word 2007 of 2010 te vergelijken
Leer hoe u snel twee documenten kunt vergelijken in MS Word 2007 of 2010.
Hoe tekenreeksen te converteren naar gehele getallen in python
Vaak moet u bij het schrijven van Python-code het ene gegevenstype naar het andere converteren. In Python kunt u een tekenreeks naar geheel getal converteren met de ingebouwde functie int ().







