Android

Kako provjeriti sadrži li niz podstranu u bashu

Get Referrals for any Earning Website - TimeBucks Advertising

Get Referrals for any Earning Website - TimeBucks Advertising

Sadržaj:

Anonim

Jedna od najčešćih operacija pri radu s nizovima u Bashu je utvrđivanje sadrži li niz neki drugi niz., pokazat ćemo vam nekoliko načina za provjeru sadrži li niz podstranu.

Korištenje Wildcards

Najjednostavniji je pristup okružiti podstrezom s simbolom zvjezdica (zvjezdica) * i usporediti ga s nizom. Nadimak je simbol koji se koristi za predstavljanje nula, jednog ili više znakova.

Ako se test vrati true , podstina se nalazi u nizu.

U primjeru u nastavku koristimo naredbu if i operator jednakosti ( == ) da provjerimo nalazi li se pod string SUB unutar niza STR :

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

Kada se izvrši, skripta će prikazati:

It's there.

Pomoću operatora slučaja

Umjesto upotrebe izjave if možete upotrijebiti i izjavu slučaja da provjerite sadrži li ili ne neki drugi niz.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac

Korištenje Regex operatora

Druga mogućnost da se utvrdi da li se određeni podstvor događa unutar niza je korištenje operatora regex =~ . Kad se koristi ovaj operator, pravi se niz smatra redovitim izrazom.

Period koji prati zvjezdicu .* Podudara se s nulom ili više pojavljivanja bilo kojeg znaka, osim znaka nove linije.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

Skripta odjekuje sljedeće:

It's there.

Korištenje Grepa

Naredba grep može se koristiti i za pronalaženje niza u drugom nizu.

U sljedećem primjeru prenosimo niz $STR kao ulaz u grep i provjeravamo je li niz $SUB pronađen u ulaznom nizu. Naredba će vratiti true ili false prema potrebi.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi

Opcija -q kaže da grep bude miran, da bi izostavio izlaz.

Zaključak

Provjera sadrži li niz podstranu, jedna je od najosnovnijih i najčešće korištenih operacija u Bash scenariju.

Nakon što pročitate ovaj vodič, trebali biste dobro razumjeti kako testirati uključuje li neki drugi niz. Za testiranje možete koristiti i druge naredbe poput awk ili sed .

bash terminal