Como Invertir un Numero en C++ - Ejercicios Resueltos 17
Obsah:
- Porovnání operátorů
- Zkontrolujte, zda řetězec obsahuje podřetězec
- Zkontrolujte, zda je řetězec prázdný
- Porovnání řetězců s operátorem případu
- Lexikografické srovnání
- Závěr
Při psaní skriptů Bash budete často muset porovnat dva řetězce, abyste si ověřili, zda jsou stejné nebo ne. Dva řetězce jsou stejné, pokud mají stejnou délku a obsahují stejnou posloupnost znaků.
Tento tutoriál popisuje, jak porovnat řetězce v Bash.
Porovnání operátorů
Operátory porovnání jsou operátory, které porovnávají hodnoty a vrací pravdivé nebo nepravdivé hodnoty. Při porovnávání řetězců v Bashu můžete použít následující operátory:
-
string1 = string2
astring1 == string2
- Operátor rovnosti vrací true, pokud jsou operandy stejné.- Při
test
použijte operátor=
; then echo "Strings are equal." else echo "Strings are not equal." fi
; then echo "Strings are equal." else echo "Strings are not equal." fi
Po spuštění skriptu vytiskne následující výstup.
Strings are equal.
Zde je další skript, který vezme vstup od uživatele a porovná dané řetězce. V tomto příkladu použijeme
]; then echo "Strings are equal." else echo "Strings are not equal." fi
]; then echo "Strings are equal." else echo "Strings are not equal." fi
Spusťte skript a po zobrazení výzvy zadejte řetězce:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.
Můžete také použít logické a
&&
a nebo||
porovnat řetězce:] && echo "Equal" || echo "Not equal"
Zkontrolujte, zda řetězec obsahuje podřetězec
Existuje několik způsobů, jak zkontrolovat, zda řetězec obsahuje podřetězec.
Jedním přístupem je použití obklopení podřetězce hvězdičkami
*
což znamená, že se shodují všechny znaky.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Skript bude odrážet následující:
It's there.
Další možností je použít operátor regex
=~
jak je ukázáno níže:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Období, za kterým následuje hvězdička
.*
Odpovídá nule nebo více výskytům libovolného znaku kromě znaku nového řádku.Zkontrolujte, zda je řetězec prázdný
Poměrně často budete také muset zkontrolovat, zda je proměnná prázdný řetězec nebo ne. To lze provést pomocí operátorů
-n
a-z
.#!/bin/bash VAR='' if]; then echo "String is empty." fi
String is empty.
#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fi
Porovnání řetězců s operátorem případu
Namísto použití testovacích operátorů můžete také porovnat řetězce pomocí příkazu case:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esac
Lexikografické srovnání
Lexikografické srovnání je operace, kde jsou dva řetězce srovnávány abecedně porovnáváním znaků v řetězci postupně zleva doprava. Tento druh srovnání se používá jen zřídka.
Následující skripty lexikograficky porovnávají dva řetězce:
#!/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" fi
Skript vydá následující:
Ubuntu is lexicographically greater than Linuxize.
Závěr
Porovnání řetězce je jednou z nejzákladnějších a často používaných operací v Bash skriptování. Po přečtení tohoto tutoriálu byste měli dobře rozumět tomu, jak porovnat řetězce v Bash. Můžete si také přečíst našeho průvodce o zřetězení řetězců.
bash terminál
- Při
Jak porovnat dva dokumenty v MS Word 2007 nebo 2010
![Jak porovnat dva dokumenty v MS Word 2007 nebo 2010 Jak porovnat dva dokumenty v MS Word 2007 nebo 2010](https://i.joecomp.com/msword/160/how-compare-two-documents-ms-word-2007.png)
Naučte se, jak rychle porovnat dva dokumenty v MS Word 2007 nebo 2010.
Jak porovnat cpu, gpu a ssds před nákupem
![Jak porovnat cpu, gpu a ssds před nákupem Jak porovnat cpu, gpu a ssds před nákupem](https://i.joecomp.com/hardware/951/how-compare-cpu-gpu.png)
Naučte se, jak porovnat CPU, GPU a SSD před nákupem. Pomůžeme vám správně se rozhodnout.
Bash zřetězené řetězce
![Bash zřetězené řetězce Bash zřetězené řetězce](https://i.joecomp.com/bash/115/bash-concatenate-strings.jpg)
Zřetězení řetězců je jen fantastické programovací slovo, které spojuje řetězce připojením jednoho řetězce na konec druhého řetězce. V tomto tutoriálu si vysvětlíme, jak zřetězit řetězce v Bash.