Introductie van Array in Unix

Matrix is ​​een gegevensstructuur die een groep elementen bevat die typerend zijn voor hetzelfde gegevenstype, zoals tekenreeks, geheel getal, zwevend, enz. De gegevensstructuur van de matrix is ​​ook beschikbaar in Unix.

  • Array in Unix: het is een verzameling elementen die al dan niet van hetzelfde gegevenstype zijn.
  • Index: Array is op nul gebaseerd, wat betekent dat elementen van de array worden aangeduid door de index vanaf nul.
  • Grootte: er is geen maximale limiet voor de grootte van de array

Syntaxis van Array in Unix

Er zijn verschillende manieren om een ​​array in shell scripting te vormen. Laten we ze allemaal in detail bekijken:

1. Indirecte verklaring: hier wordt een waarde toegewezen voor een bepaalde index onderweg. Een voorbeeld hiervan wordt hieronder vermeld.

Syntaxis:

array_name(index) = value

2. Expliciete verklaring: eerst wordt de array gedeclareerd en vervolgens worden de waarden eraan toegewezen. Declare is een ingebouwd trefwoord en -a is een optie voor ingebouwd lezen waarmee waarden kunnen worden gelezen en toegewezen.

Syntaxis:

declare -a array_name

3. Samengestelde toewijzing: hier wordt de array met meerdere waarden tegelijk gedeclareerd.

Syntaxis:

array_name = (value1 value2 value3 . . . valueN)

Of

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Hier is de index optioneel als de index niet wordt opgegeven. De waarde wordt toegewezen aan de laatste index plus één

Hoe werkt Array in Unix?

We hebben de verschillende manieren geleerd om een ​​array in Unix te maken, laten we nu verder gaan en verschillende bewerkingen bekijken die op de Unix-array kunnen worden uitgevoerd.

1. We zullen de reeks namen maken

2. Gebruik voor toegang tot alle elementen van de array (*) of (@)

Code:

echo $(first_name(*))
echo $(first_name(@))

Opmerking: echo-opdracht is een ingebouwde opdracht in Unix die wordt gebruikt om de tekst of de tekenreeks weer te geven die als argument aan de opdracht is doorgegeven. De syntaxis van 'echo' wordt hieronder vermeld.

Syntaxis:

echo (options) (arguments)

3. Om toegang te krijgen tot een specifiek element van de string met behulp van de index.

Code:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

Output:

Opmerking: () accolades worden gebruikt om te verwijzen naar de inhoud van de array.

4. Om de elementen in een bereik af te drukken. De syntaxis voor hetzelfde is als volgt:

Syntaxis:

echo $array_name(which element):starting_index:count_element)

Laten we ons hiermee vertrouwd maken.

Code:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

Output:

@ - verwijst naar alle elementen van de array
In de opdracht echo $ (first_name (@): 0: 2)
@ beschouw alle elementen van de array. 0 - betekent om met deze specifieke index te beginnen en 2 geeft het aantal elementen vanaf het startpunt weer
2 toont een aantal elementen vanaf het startpunt

In deze opdracht echo $ (first_name (0): 1: 2)
0 - bekijk het 0 de element van de array. 1- is het startpunt en 2 - is de telling van het aantal elementen vanaf het startpunt

5. Om de grootte van de array te krijgen

Code:

echo $(#first_name(@))
or
echo $(#first_name(*))

Output:


Opmerking: # wordt gebruikt om de lengte van een specifiek element van een array te bepalen.

6. Om de lengte van een specifiek element van een array te vinden

Code:

echo $(#first_name(0))

Uitgang :

7. Gebruik de onderstaande opdracht om de index van de array te krijgen.

Code:

echo $(!first_name(@))

Output:


Opmerking :! wordt gebruikt om de index van de array te krijgen.

8. Om de array in het script te verwijderen wordt de opdracht unset gebruikt. Het is een ingebouwd commando om een ​​array of een willekeurig element van de array te vernietigen

Syntaxis:

unset array_name

Code:

unset first_name

9. Om een ​​element op een specifieke index te verwijderen

unset first_name(2)

Hiermee wordt het element in index 2 verwijderd.

10. Zoeken naar een specifiek patroon in de array.

Code:

echo $(first_name(@)/*(aA)*/)

Output:

Hier, voornaam (@): verwijst naar alle elementen van de array
/ patroon om te doorzoeken /: het is het patroon dat moet worden doorzocht in de array of het element ervan.
Het zal 1 retourneren als de match is gevonden en 0 als er geen match is gevonden.

11. Om naar een specifiek patroon te zoeken en dit in de gegeven array te vervangen.

Code:

echo $(first_name(@)//a/A)

first_name (@): bekijk alle elementen van de array
// te doorzoeken patroon / vervangende string /: zoek- en vervangende string

Output:

first_name (2): Zoek en vervang bewerkingen die op het element moeten worden uitgevoerd door index 2.

Tijdens het uitvoeren van de zoek- en vervangingsbewerking zijn er geen wijzigingen aangebracht in de oorspronkelijke waarde van de array. Het retourneert een nieuwe waarde die in dezelfde of verschillende variabelen kan worden opgeslagen.

12. Om een ​​bewerking op de elementen van een array uit te voeren, kunnen we de Loops gebruiken. Zoals elke andere programmeertaal, ondersteunt Bourne shell twee soorten lussen, namelijk voor lus en lus. Laten we een voorbeeld bekijken om een ​​array te herhalen met behulp van for loop.

Code:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Uitgang :

Op dezelfde manier kunt u een array herhalen met een while-lus.

Houd er rekening mee dat er in Unix verschillende soorten shells beschikbaar zijn, zoals Bash, K shell, Bourne shell, etc. Shell is niets anders dan een interface naar Unix-systemen met verschillende sets opdrachten en functies. Dus, op basis van verschillende soorten shell, zijn er verschillende syntaxis geassocieerd met de array en de bewerkingen ervan, met een kleine variatie in de syntaxis van de opdrachten die hierboven worden besproken.

Bash Shell staat de array-bewerkingen op de variabelen ook toe zonder dat de variabelen expliciet als array worden gedeclareerd. Laten we naar het voorbeeld kijken om de bovenstaande uitspraak beter te begrijpen.

Code:

String_variable = India is a democratic country
echo “$(string(0))”

Output:

Conclusie

In feite is een array een verzameling items die op een aaneengesloten geheugenlocatie zijn opgeslagen. Het doel achter het vormen van een array is om meerdere items van hetzelfde type samen met dezelfde of verschillende gegevenstypen op te slaan. In een praktisch scenario waarom arraystructuur achterblijft bij populariteit is te wijten aan het gebrek aan compatibiliteit met verschillende shell- en complexe structuren.

Aanbevolen artikelen

Dit is een gids voor Array in Unix. Hier bespreken we de syntaxis en werking van array in Unix, samen met verschillende voorbeelden en code-implementatie. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Linux-proxyserver
  2. Soorten Shells in Linux
  3. Gebruiker maken in Linux
  4. Unix-bestandssysteem
  5. Handleiding voor For Loop in Shell Scripting