tr - Transform, Replace and Remove specific characters from strings | #10 Practical Bash
Innholdsfortegnelse:
En av de vanligste operasjonene når du arbeider med strenger i Bash er å bestemme om en streng inneholder en annen streng., vil vi vise deg flere måter å sjekke om en streng inneholder en substring.
Bruker jokertegn
Den enkleste tilnærmingen er å omgi undergrensen med asterisk jokersymboler (asterisk)
*
og sammenligne den med strengen. Jokertegn er et symbol som brukes til å representere null, ett eller flere tegn.
Hvis testen returnerer
true
, er understrengen inneholdt i strengen.
I eksemplet nedenfor bruker vi if-uttalelsen og likestillingsoperatøren (
==
) for å sjekke om substringssubben finnes i strengen
STR
:
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Når det kjøres, vil skriptet komme ut:
Bruke saksoperatøren
I stedet for å bruke if-uttalelsen, kan du også bruke saksuttalelsen til å sjekke om en streng inkluderer en annen streng.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac
Bruker Regex Operator
Et annet alternativ for å bestemme om en spesifisert understreng forekommer i en streng er å bruke regex-operatøren
=~
. Når denne operatøren brukes, blir den høyre strengen vurdert som et vanlig uttrykk.
Perioden etterfulgt av en stjerne
.*
Samsvarer med null eller flere forekommer et hvilket som helst tegn bortsett fra et nylinjetegn.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Skriptet vil gjenskape følgende:
Bruke Grep
Grep-kommandoen kan også brukes til å finne strenger i en annen streng.
I det følgende eksemplet passerer vi strengen
$STR
som en inngang til grep og sjekker om strengen
$SUB
er funnet i inputstrengen. Kommandoen vil returnere
true
eller
false
etter behov.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi
Alternativet
-q
forteller at grep skal være stille, for å utelate utgangen.
Konklusjon
Å sjekke om en streng inneholder en substring er en av de mest grunnleggende og ofte brukte operasjonene i Bash-scripting.
Etter å ha lest denne opplæringen, bør du ha god forståelse for hvordan du tester om en streng inkluderer en annen streng. Du kan også bruke andre kommandoer som
awk
eller
sed
for testing.
Slik kontrollerer du BIOS-versjonen i Windows 10

Dette innlegget viser hvordan du sjekker gjeldende BIOS-versjon i Windows 10 / 8.1 / 8/7 ved hjelp av Windows Registry, WMIC / CMD, System Information Tool eller DXDiag.
Slik kontrollerer du om USB, DVD kan startes på Windows Pc

Dette innlegget vil vise deg hvordan du skal bekrefte og fortelle om USB-en din , CD, DVD-medier kan startes på en Windows-PC, ved hjelp av Freeware MobaLiveCD med QEMU-maskin.
Slik bruker du sed til å finne og erstatte streng i filer

sed er en strømredaktør. Med sed kan du søke, finne og erstatte, sette inn og slette strenger og linjer. Den støtter grunnleggende og utvidede vanlige uttrykk som lar deg matche komplekse mønstre.