Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Besturingssysteem >> unix >> Content
Hoe gebruik je arrays in Unix?
Unix-shells (zoals bash, zsh, sh) hebben geen arrays op dezelfde manier als talen op een hoger niveau, zoals Python of C++. Ze verwerken arrays op een minder gestructureerde manier, meestal met behulp van door witruimte gescheiden tekenreeksen of speciale technieken. Zo kunt u werken met array-achtige structuren in verschillende Unix-shellcontexten:

1. Door witruimte gescheiden tekenreeksen:

Dit is de eenvoudigste methode. Je slaat elementen feitelijk op als een enkele string, gescheiden door spaties (of andere scheidingstekens die je kiest). Om toegang te krijgen tot individuele elementen is stringmanipulatie vereist.

``` bash

my_array="appel-banaan-kers"

Toegang tot het eerste element (uitgaande van scheiding van de ruimte):

first_element="${my_array%% *}" #Verwijdert alles vanaf de eerste spatie.

echo "$first_element" # Uitvoer:appel

Toegang tot het tweede element:

second_element="${my_array#* }" #Verwijdert alles tot aan de eerste spatie.

second_element="${second_element%% *}" #Verwijdert alles vanaf de eerste spatie

echo "$second_element" # Uitvoer:banaan

#Itereren (minder efficiënt):

voor fruit in $my_array; Doen

echo "$fruit"

klaar

```

Beperkingen: Deze aanpak is foutgevoelig als array-elementen zelf spaties bevatten.

2. Arrays gebruiken in bash (en andere shells met array-ondersteuning):

Bash (en enkele andere moderne shells) bieden robuustere array-ondersteuning.

``` bash

Declareer een array

my_array=("appel" "banaan" "kers")

Toegang tot elementen:

echo "${my_array[0]}" # Uitvoer:apple

echo "${my_array[1]}" # Uitvoer:banaan

De arraylengte verkrijgen:

echo "${#my_array[@]}" # Uitvoer:3

Itererend:

voor i in "${!my_array[@]}"; do #Itereren door indexen

echo "${mijn_array[i]}"

klaar

Of herhaal rechtstreeks de elementen:

voor fruit in "${my_array[@]}"; Doen

echo "$fruit"

klaar

#Elementen toevoegen:

mijn_array+=("datum")

echo "${my_array[3]}" #Uitvoer:datum

#Toevoegen aan array:

my_array+=(druivensinaasappel)

#Elementen verwijderen (minder eenvoudig, vereist verschuiving):

schakel 'my_array[1]' uit #verwijdert element op index 1 (banaan)

#Merk op dat indices niet automatisch naar beneden verschuiven. Er is geen ingebouwde verschuiving na verwijdering.

Druk de gewijzigde array af:

voor fruit in "${my_array[@]}"; Doen

echo "$fruit"

klaar

```

Belangrijke overwegingen:

* Citaat: Citeer altijd arrayvariabelen (bijvoorbeeld `"${my_array[@]}"`) om het splitsen van woorden en het samenvoegen van woorden te voorkomen, wat tot onverwacht gedrag kan leiden. Dit is vooral van cruciaal belang wanneer array-elementen spaties of speciale tekens kunnen bevatten.

* Index 0: Arrays in bash zijn 0-geïndexeerd, wat betekent dat het eerste element op index 0 staat.

* Shell-specifiek: De syntaxis en functies die beschikbaar zijn voor arrays kunnen enigszins variëren, afhankelijk van de specifieke shell die u gebruikt (bash, zsh, ksh, enz.).

3. Opdrachtregelprogramma's gebruiken voor array-achtige bewerkingen:

Voor complexere array-manipulaties (sorteren, filteren, etc.) zul je het vaak efficiënter vinden om externe opdrachtregelhulpprogramma's te gebruiken, zoals `awk`, `sed` of `sort`. Deze tools blinken uit in tekstverwerking, die kan worden aangepast om te werken met gegevens die zijn gestructureerd als gescheiden tekenreeksen.

Om bijvoorbeeld de elementen van een door spaties gescheiden tekenreeks te sorteren:

``` bash

my_array="appel-banaan-kers"

echo "$mijn_array" | tr '' '\n' | sorteer | tr '\n' ' '

```

Samenvattend:hoewel Unix-shells geen ingebouwde, rijke array-structuren hebben zoals andere talen, is de array-ondersteuning van bash geschikt voor veel taken. Overweeg voor complexe manipulaties de kracht van tekstverwerkingshulpprogramma's te benutten. Vergeet niet om uw arrayvariabelen altijd correct te citeren om mogelijke fouten te voorkomen.

Previous: Next:
  unix
·Wat is Shell-export 
·Wat zijn lex en yacc in termen…
·Wat verstaat u onder bestand? 
·Wat is uitgewerkt sap? 
·Wat is een riffler-bestand? 
·Welke lijn besturingssystemen …
·Hoe te VIM Wissel naar UNIX -f…
·Wat is in een UNIX Pathname 
·Hoeveel bytes zitten er in een…
  Related Articles
Wat is de definitie van computation en h…
Wat is een algoritme in de informatica e…
Wat is een schrijffout en welke invloed …
Wat betekent rekenen en hoe wordt het ge…
Wat zijn enkele belangrijke overwegingen…
Wat zijn enkele voorbeelden van beroemde…
Hoe werken computers en wat zijn de bela…
Hoe heeft de Turing-machine de ontwikkel…
Hoe kan ik een stapelteller effectief ge…
  Besturingssysteem Articles
·Hoe te Kaper virussen verwijderen 
·Hoe maak je een opstartdiskette maken va…
·Wat meet de snelheid van de computer? 
·Hoe Set ' View ' om foto's te bekijken 
·Wat betekent CD in Linux OS? 
·Wat is een operatie zelf? 
·Hoe te Slow Prestaties in een PowerBook …
·Is het mogelijk om uw computer automatis…
·Hoe te Specifieke bestanden defragmenter…
Copyright © Computer Kennis https://www.nldit.com