Cara Menggunakan Tatasusunan Indeks dalam Bash

Cara Menggunakan Tatasusunan Indeks Dalam Bash



Bash menyediakan sokongan untuk tatasusunan diindeks, yang pada asasnya adalah senarai elemen yang boleh diakses menggunakan nombor indeksnya. Tatasusunan diindeks amat berguna apabila anda ingin menyimpan dan memanipulasi banyak nilai yang berkaitan, baca selanjutnya artikel ini untuk mengetahui cara menggunakan tatasusunan indeks.

Apakah itu Tatasusunan Indeks

Tatasusunan diindeks ialah koleksi elemen dalam bash yang boleh diakses menggunakan indeks atau kunci. Tatasusunan ini boleh digunakan untuk menyimpan dan mendapatkan semula data dalam susunan tertentu, menjadikannya lebih mudah untuk mengurus sejumlah besar data. Sintaks untuk mengisytiharkan tatasusunan diindeks dalam bash adalah seperti berikut:

< array_name > = ( elemen1 elemen2 elemen3 ... )

Di sini, array_name ialah nama array, dan element1, element2, element3, dan seterusnya ialah nilai yang akan disimpan dalam array. Nilai dipisahkan oleh ruang putih dan ambil perhatian bahawa anda juga boleh menggunakan perintah isytihar untuk mencipta tatasusunan.







Cara Menggunakan Tatasusunan Berindeks dalam Bash

Untuk mencipta tatasusunan indeks dalam bash, anda hanya perlu mengisytiharkan pembolehubah dan memberikannya nilai yang disertakan dalam kurungan dan dipisahkan dengan ruang. Berikut ialah beberapa contoh yang menunjukkan cara menggunakan tatasusunan diindeks dalam bash:



Menyusun semula Senarai dalam Bash

Jika anda mempunyai senarai item dalam susunan tertentu dan anda ingin menyusun semula item tersebut dengan cara yang berbeza. Anda boleh menggunakan tatasusunan indeks untuk membuat susunan baharu untuk item, seperti berikut:



#!/bin/bash
barang = ( 'Mangga' 'Nenas' 'Strawberi' 'Cherry' 'Anggur' )
pesanan = ( 4 2 0 3 1 )
untuk i dalam ' ${pesanan[@]} '
buat
bergema ${item[$i]}
selesai

Dalam contoh ini, kami mencipta tatasusunan yang dipanggil item dengan lima elemen. Kami juga mencipta tatasusunan indeks yang dipanggil pesanan, yang menentukan pesanan baharu untuk item tersebut. Kami kemudian melingkari tatasusunan pesanan dan menggunakan setiap nilai sebagai indeks untuk mendapatkan semula item yang sepadan daripada tatasusunan item dan mencetaknya.





Menapis Senarai dalam Bash

Jika anda mempunyai senarai item dan anda ingin menapis item tertentu berdasarkan syarat. Anda boleh menggunakan tatasusunan indeks untuk menjejaki indeks item yang memenuhi syarat, seperti berikut:



#!/bin/bash
barang = ( 'Mangga' 'Nenas' 'Strawberi' 'Cherry' 'Anggur' )
Indeks = ( )

untuk i dalam ' ${!item[@]} '
buat
jika [ [ ${item[$i]} == * 'r' * ] ]
kemudian
indeks+= ( $i )
jadilah
selesai

untuk i dalam ' ${indeks[@]} '
buat
bergema ${item[$i]}
selesai

Dalam contoh ini, kami mencipta tatasusunan yang dipanggil item dengan lima elemen. Kami juga mencipta tatasusunan indeks kosong yang dipanggil indeks. Kami kemudian mengulangi tatasusunan item dan menyemak sama ada setiap item mengandungi huruf 'r'. Jika ia berlaku, kami menambah indeksnya pada tatasusunan indeks. Akhir sekali, kami mengulangi tatasusunan indeks dan menggunakan setiap nilai sebagai indeks untuk mendapatkan semula item yang sepadan daripada tatasusunan item dan mencetaknya.

Mengira Kejadian dalam Bash

Jika anda mempunyai senarai item dan anda ingin mengira bilangan kejadian setiap item, anda boleh menggunakan tatasusunan indeks untuk menjejaki kiraan dan berikut ialah contoh untuk demonstrasi:

#!/bin/bash
barang = ( 'Mangga' 'Nenas' 'Strawberi' 'Cherry' 'Anggur' )
dikira = ( )

untuk i dalam ' ${!item[@]} '
buat
jika [ [ ! ' ${counts[@]} ' =~ ' ${item[$i]} ' ] ]
kemudian
kiraan+= ( ' ${item[$i]} 1' )
lain
indeks =$ ( bergema ' ${counts[@]} ' | tr '' '\n' | cengkaman -n '^ ${item[$i]} ' | dengan )
mengira =$ ( bergema ' ${counts[$index-1]} ' | potong -d '' -f2 )
dikira [ $indeks - 1 ] = ' ${item[$i]} $((count+1) )'
jadilah
selesai

untuk mengira dalam ' ${counts[@]} '
buat
bergema $count
selesai

Ia mula-mula memulakan tatasusunan yang dipanggil 'item' dengan senarai rentetan. Kemudian ia mengisytiharkan tatasusunan kosong yang dipanggil 'kiraan'. Gelung for dicipta untuk mengulang setiap item dalam tatasusunan 'item' dan untuk setiap item ia menyemak sama ada ia sudah wujud dalam tatasusunan 'kiraan'.

Jika ia tidak wujud, ia menambah item dan kiraan 1 kepada tatasusunan 'kiraan'. Jika ia wujud, ia menambah kiraan item itu dalam tatasusunan 'kiraan'. Akhir sekali, untuk mencetak setiap item dan kiraan sepadannya, satu lagi untuk gelung digunakan. Output kod ini akan mencetak kiraan setiap item dalam tatasusunan 'item', dengan pendua dikira secara berasingan.

Mengemas kini Senarai dalam Bash

Jika anda mempunyai senarai item dan anda ingin menambah atau memadam item daripadanya maka anda boleh menggunakan tatasusunan indeks untuknya dan berikut ialah contoh untuk demonstrasi:

#!/bin/bash
barang = ( 'Mangga' 'Nenas' 'Strawberi' 'Cherry' 'Anggur' )

# Menambah elemen baharu pada tatasusunan diindeks pada indeks 2
barang [ 6 ] = 'oren'
# Memadamkan elemen pada indeks 2 daripada tatasusunan yang diindeks
tidak ditetapkan barang [ 2 ]

# Mencetak tatasusunan yang dikemas kini
bergema ' ${item[@]} '

Dalam skrip, 'item' tatasusunan diindeks ditakrifkan dengan lima elemen awal. Untuk menambah elemen baharu, nilai hanya diberikan kepada indeks yang dikehendaki menggunakan tatasusunan sintaks[index]=nilai. Dalam skrip ini, 'oren' ditambahkan pada indeks 6 tatasusunan. Untuk memadamkan elemen, kami menggunakan perintah unset diikuti dengan indeks elemen yang ingin kami alih keluar. Dalam kes ini, elemen pada indeks 2 (“Strawberi”) dipadamkan. Tatasusunan yang dikemas kini kemudiannya dicetak menggunakan sintaks '${array[@]}', yang mengembangkan keseluruhan tatasusunan.

Kesimpulan

Tatasusunan yang diindeks ialah struktur bash yang berguna yang membolehkan anda menyimpan dan memanipulasi berbilang nilai menggunakan pembolehubah tunggal. Dengan memahami sintaks dan penggunaan tatasusunan diindeks, anda boleh menulis skrip bash yang lebih cekap dan berkesan.