Jak używać polecenia ReadArray do odczytania tablicy 2D w Bash

Jak używać polecenia ReadArray do odczytania tablicy 2D w Bash

Bash to popularny język skontaktowania używany w systemach operacyjnych Linux i Unix. Zapewnia bogaty zestaw poleceń i funkcji, które ułatwiają automatyzację powtarzających się zadań. „ReadArray” jest jednym z najbardziej pomocnych poleceń w Bash. Za pomocą tego polecenia linie z pliku można odczytać w tablicy 2D. W tym poście omówimy, jak odczytać wiersze z pliku do tablicy 2D za pomocą polecenia „ReadArray” Basha.

Używanie „ReadArray” w Bash

Polecenie „ReadArray” odczytuje wiersze z pliku lub standardowego wejścia i przypisuje je do tablicy. Składnia używania „ReadArray” jest następująca:

ReadArray [-d DeLim] [-n Count] [-o Origin] [-s Count] [-t] tablica


Opcje dostępne dla polecenia „ReadArray” to:

„-d DeliM”: Ustawia ograniczenie do użycia podczas podziału linii na elementy tablicy i domyślnie ograniczenie jest nową postacią.

„-n Count”: Określa maksymalną liczbę linii do odczytania w tablicy.

„-O pochodzenie”: Ustawia indeks początkowy tablicy.

„-s Count”: Określa liczbę linii do pominięcia przed przeczytaniem tablicy.

'-T': Usuwa podchodzącą nową linię z każdej linii odczytanej do tablicy.

Oto przykład użycia „ReadArray” do odczytania wierszy z pliku do tablicy 2D i za to stworzyłem test testowy.tekst którego treści są:

1 2 3
4 5 6
7 8 9


Oto kompletny skrypt bash, który pokazuje użycie polecenia „ReadArray”:

#!/bin/bash
# Przeczytaj wiersze z pliku do tablicy
Linie ReadArray -t < testfile.txt
# Deklaruj tablicę 2D z 3 wierszami i 3 kolumnami
Deklaruj -tablicę
# Iteruj nad linią i podziel każdą linię na elementy
bo w „$ !linie [@] "; do
Ifs = "czytaj -r -elementy <<< "$lines[i]"
dla j in "$ !elementy [@] "; do
if [[-n "$ elementy [j]"]]; Następnie
tablica [$ i, $ j] = $ Elements [j]
fi
zrobione
zrobione
# Wydrukuj tablicę
dla ((i = 0; i<3;i++)); do
dla ((j = 0; j<3;j++)); do
echo -n "$ array [$ i, $ j]"
zrobione
Echo
zrobione


Tutaj najpierw zadeklarowałem tablicę 2D o nazwie „tablica”, a następnie użyłem polecenia „ReadArray” do odczytu wierszy z pliku o nazwie „TestFile.txt „do tablicy„ wierszy ”. Następnie kod iteruje tablicę „linii” i podziela każdy wiersz na elementy za pomocą poleceń „IFS” i „Przeczytaj”.

Następnie przechowuje elementy w tablicy 2D „tablica”, a następnie używa polecenia odczytu do podziału każdego wiersza na elementy. Teraz każdy element jest przypisany do odpowiedniego elementu w tablicy „tablicy”, a na koniec zawartość tablicy „tablica” za pomocą zagnieżdżonych do pętli jest wydrukowana.

Wniosek

Polecenie „ReadArray” ułatwia manipulowanie dużymi ilościami danych w skryptach Bash. Postępując zgodnie z przykładami podanymi w tym artykule, możesz zacząć używać „ReadArray” we własnych skryptach Bash, aby odczytać wiersze z plików i przetwarzać je w tablicach 2D.