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/bashbarang = ( '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/bashbarang = ( '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.