Како користити наредбу реадарраи за читање 2Д низа у Басху

Kako Koristiti Naredbu Readarrai Za Citane 2d Niza U Bashu



Басх је популаран језик скриптирања који се користи у Линук и Уник оперативним системима. Пружа богат скуп команди и функција које олакшавају аутоматизацију задатака који се понављају. „реадарраи“ је једна од најкориснијих команди у Басху. Овом командом, линије из датотеке се могу прочитати у 2Д низ. У овом посту ћемо прећи на то како да читамо линије из датотеке у 2Д низ користећи Басх-ову команду „реадарраи“.

Коришћење „реадарраи“ у Басху

Команда 'реадарраи' чита линије из датотеке или стандардног улаза и додељује их низу. Синтакса за коришћење 'реадарраи' је следећа:







реадарраи [ -д СХАРЕ ] [ -н ​​ЦОУНТ ] [ - ПОРЕКЛО ] [ -с ЦОУНТ ] [ ] низ


Доступне опције за команду 'реадарраи' су:



'-д ДЕЛИ': Подешава граничник који ће се користити приликом раздвајања линија у елементе низа и подразумевано је граничник знак новог реда.



‘-н ЦОУНТ’: Одређује максималан број редова за читање у низу.





'-О ПОРЕКЛО' : Поставља почетни индекс низа.

„-с ЦОУНТ“: Одређује број редова које треба прескочити пре читања у низ.



'-т': Уклања завршни знак новог реда из сваког реда учитаног у низ.

Ево примера коришћења „реадарраи“-а за читање линија из датотеке у 2Д низ и за то сам направио тестфиле.ткт чији је садржај:

1 2 3
4 5 6
7 8 9


Дакле, ево комплетне басх скрипте која показује употребу команде 'реадарраи':

#!/бин/басх
# Читање линија из датотеке у низ
реадарраи линије < тестфиле.ткт
# Декларисајте 2Д низ са 3 реда и 3 колоне
прогласити низ
# Пређите преко линија и поделите сваку линију на елементе
за и ин ' ${!линес[@]} ' ; урадите
ИФС = '' читати елемената <<< ' ${линес[и]} '
за ј ин ' ${!елементс[@]} ' ; урадите
ако [ [ ' ${елементс[ј]} ' ] ] ; онда
низ [ , ] = ${елементс[ј]}
бити
Готово
Готово
# Одштампајте низ
за ( ( и = 0 < 3 ;и++ ) ) ; урадите
за ( ( ј = 0 < 3 ;ј++ ) ) ; урадите
одјек ' ${низ[$и,$ј]} '
Готово
одјек
Готово


Овде сам прво декларисао 2Д низ назван 'арраи', а затим користио команду 'реадарраи' за читање линија из датотеке под називом 'тестфиле.ткт' у низ 'линес'. Затим, код понавља низ „линија“ и дели сваки ред на елементе користећи команде „ИФС“ и „читај“.

Након тога, он складишти елементе у 2Д низу „низ“, а затим користи команду за читање да подели сваку линију на елементе. Сада је сваки елемент додељен одговарајућем елементу у низу 'низ' и на крају се штампа садржај низа 'низ' користећи угнежђене фор петље.

Закључак

Команда „реадарраи“ олакшава манипулацију великим количинама података у Басх скриптама. Пратећи примере наведене у овом чланку, можете почети да користите „реадарраи“ у сопственим Басх скриптама за читање редова из датотека и њихову обраду у 2Д низове.