Get Referrals for any Earning Website - TimeBucks Advertising
Sadržaj:
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:
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:
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
.
Kako provjeriti postoji li datoteka ili direktorij u bashu

Često se prilikom pisanja skripti Shell nađete u situaciji u kojoj trebate izvesti radnju na osnovu toga postoji li datoteka ili ne. U Bashu možete koristiti testnu naredbu da provjerite postoji li datoteka i odredite vrstu datoteke.
Kako usporediti žice u bashu

Pri pisanju Bash skripti često ćete morati uspoređivati dvije žice da biste provjerili jesu li jednake ili ne. Dva niza su jednaka ako imaju istu duljinu i sadrže isti niz znakova.
Kako čitati datoteku po liniju u bashu

Kad pišete Bashove skripte, ponekad ćete se naći u situacijama u kojima morate pročitati datoteku po red. Na primjer, možda imate tekstualnu datoteku koja sadrži podatke koje treba obraditi skripta.