Esimerkki 01: Poista elementti etuliitteiden vastaavuudella
Ensimmäinen menetelmä; tietyn elementin poistaminen taulukosta on etuliitteitä vastaavia. Kirjaudu sisään miltä tahansa Linux-jakelulta, jota olet tällä hetkellä käyttänyt, ja avaa siinä oleva pääte. Luo tiedosto “syöte.sh ”. Avaa tämä tiedosto kotihakemistostasi ja kirjoita alla oleva koodi siihen.
Selitetään tämä koodi askel askeleelta. Tietyn elementin poistamiseksi sinun on ensin luotava taulukko. Joten, luodaan taulukko nimeltä "array" ja määritetään sille joitain arvoja, koska olen määrittänyt sille kolme arvoa; aqsa, raza ja saeed.
taulukko = (aqsa raza saeed)Nyt olemme luoneet toisen muuttujan, "delete", ja antaneet sille samanlaisen arvon kuin "matriisissa". Todellisuudessa tätä tekniikkaa käytetään poistamaan etuliitteiden elementit, jotka muistuttavat $ delete, eivät olennaisesti kokonaisia elementtejä.
delete = saeedSen jälkeen olemme käyttäneet kaikulausetta muiden matriisien kuin samojen etuliitteiden elementtien tulostamiseen. Tässä on koodi tehdä niin:
echo $ array [@] / $ deleteKun olet työskennellyt merkkijonojen kanssa, sinun on käytettävä samaa komentosarjaa muutamalla muutoksella kuin alla:
array = ("$ array [@] / $ delete")Näet tuotoksen alla. Se näyttää kaikki matriisin elementit ohittaen arvon, joka on samanlainen kuin etuliitteiden muuttuja "$ delete".
Jos joku haluaa poistaa useamman kuin yhden tietyn elementin taulukosta, hän voi tehdä sen helposti. Kirjoita vain alla oleva koodi tiedostoon. Selitetään tämä koodi.
Määritä taulukon samanlaiset arvot uuteen muuttujaan, koska olen määrittänyt kaksi arvoa muuttujalle $ delete.
poista = (aqsa raza)Nyt käytämme ”for” -silmukkaa sovittamaan etuliitetyt arvot taulukon kanssa muuttujan $ delete kanssa. ”For” -silmukka vastaa arvoja $ delete ja tekee toisen taulukon, jolla ei olisi samanlaisia arvoja.
delille kohteessa $ delete [@]tehdä
array = ("$ array [@] / $ del")
tehty
echo $ array [@] / $ delete
Suorituksen yhteydessä se näyttää jäljellä olevan arvon, joka on "saeed".
Esimerkki 02: Poista elementti Unset-komennolla
Toinen menetelmä on "unset", jota käytetään poistamaan elementti tietystä hakemistosta ja kopioimalla se tietylle uudelle taulukolle. Tämän skenaarion aikana sitä ei ole pakko vain poistaa. Koska unset ei poista elementtiä, se vain määrittää taulukon nollan merkkijonon tietylle hakemistolle. Kirjoita alla oleva koodi tiedostoon.
Tässä olemme määrittäneet globaalin taulukon avainsanalla "julista", jota seuraa "-a". Olemme määrittäneet sille joitain merkkijonoarvoja ja tulostaneet kaikki matriisin arvot.
julista -a taulukko = ('aqsa' 'rimsha "saeed" raza "awan')echo $ array [@]
Poistamme indeksin 2 arvon taulukosta ja julistamme toisen tyhjän taulukon nimeltä "array2".
poista 'matriisi [2]'julista -a taulukko2 = ()
Lisää sen jälkeen inkrementtimuuttuja i = 0 käyttämällä "for" -silmukkaa tarkistaaksesi ensimmäisen taulukon elementin ja määritä ensimmäisen taulukon arvot toiselle taulukolle, joka on "array2".
i = 0kohteelle $ array [@]
tehdä
array2 [$ i] = $ -elementti
((++ i))
Tehty
echo $ array [@]
Kun tulostat vanhan taulukon uudelleen, se ei näytä poistamatonta elementtiä, mutta kaikkia muita elementtejä. Kokeillaan joitain kaikulauseita tarkistaaksemme onko asetettu elementti paikoillaan vai ei. Ensimmäisessä kaikulausekkeessa näytetään viesti yhdessä taulukon tietyn indeksinumeron kanssa. Voit nähdä, että koska ensimmäinen arvo on jo taulukossa, se näytetään ja toinen arvo on määrittelemätön; siksi se ei näy.
kaiku “1st arvo on $ array [1], 2nd arvo on $ array [2] "On kirjoitettu toinen kaikulauseke, jossa olemme esittäneet toisen taulukon "array2" sisällön seuraavasti:
echo $ array2 [@]Viimeisessä ja kolmannessa kaikulausekkeessa olemme esittäneet toisen taulukon "matriisi2" kaksi erityisarvoa seuraavasti:
kaiku “1st arvo on $ array2 [1], 2nd arvo on $ array2 [2] "Suorituksen yhteydessä saat alla olevan tuotoksen.
Esimerkki 03: Poista elementti alaryhmien avulla
Tässä esimerkissä teemme uusia osa-alueita elementin poistamiseksi määritetystä taulukosta. Alla olevan koodin kuvaus on annettu.
Määritetään taulukko "arr" ja määritetään sille joitain arvoja seuraavasti:
arr = ('e1 "e2" e3 "e4" e5 "e6')Tulosta nyt tämä taulukko echo-käskyllä ja löydämme matriisin arvot lähtökohtana.
kaiku $ arr [@]Tämän menetelmän erittäin tärkeä ja tärkeä vaihe on tehdä määritellystä taulukosta alaryhmät. Tehdään siis kaksi matriisia vanhasta taulukosta käyttämällä hakemistoja seuraavasti:
arr = ("$ arr [@]: 0: 2" "$ arr [@]: 3")Yllä olevassa koodissa käytimme vanhaa taulukkoa määritelläksesi uuden alimerkkijonon asettamalla indeksit. Kohdassa ”: 0: 2” kaksoispisteen jälkeinen ensimmäinen numero edustaa indeksiarvoa, joka sisällytetään aliryhmään, kun taas kaksoispisteen jälkeinen toinen indeksinumero poistetaan aliryhmästä. Tämä tarkoittaa, että uudella alaryhmällä ei ole todellisen taulukon "arr" indeksin 2 arvoa, joka on "e3". ”()” -Sulkeita käytetään alaryhmien yhdistämiseen ja uuden “arr” -taulukon muodostamiseen. Nyt kun suoritat tiedoston, se näyttää vanhan ja uuden taulukon kuten alla.
kaiku $ arr [@]
Johtopäätös
Tässä opetusohjelmassa olemme kokeilleet tehokkaasti kolmea tapaa poistaa elementti taulukosta, esim.g., käyttämällä etuliitteitä, poistamattomia ja alaryhmiä. Toivon, että tämä opas auttaa sinua ymmärtämään elementin poistamisen bash-taulukosta.